Kotlin で静的拡張メソッドを定義するにはどうすればいいでしょうか? これは可能なのでしょうか? 現在、以下に示すような拡張メソッドがあります。
public fun Uber.doMagic(context: Context) {
// ...
}
上記の拡張機能はインスタンス上で呼び出すことができます。
uberInstance.doMagic(context) // Instance method
しかし、以下のように静的メソッドにするにはどうすればよいでしょうか。
Uber.doMagic(context) // Static or class method
ベストアンサー1
を実現するにはUber.doMagic(context)
、コンパニオンオブジェクトUber
(コンパニオンオブジェクトの宣言は必須です):
class Uber {
companion object {}
}
fun Uber.Companion.doMagic(context: Context) { }