相关疑难解决方法(0)

Kotlin中的静态扩展方法

如何在Kotlin中定义静态扩展方法?这甚至可能吗?我目前有一个扩展方法,如下所示.

public fun Uber.doMagic(context: Context) {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

可以在实例上调用上述扩展名.

uberInstance.doMagic(context) // Instance method
Run Code Online (Sandbox Code Playgroud)

但是如何使它成为静态方法,如下所示.

Uber.doMagic(context)         // Static or class method
Run Code Online (Sandbox Code Playgroud)

static-methods kotlin

125
推荐指数
5
解决办法
3万
查看次数

kotlin,如何向已经定义的类伴随对象添加扩展函数

我想为已经定义的类的伴随对象添加一些扩展函数,比如

fun Toast.Companion.showImageToast(str : String) {
}
Run Code Online (Sandbox Code Playgroud)

而且我喜欢在界面上做同样的事情,例如

fun Runnable.Companion.mainHandler() {
}
Run Code Online (Sandbox Code Playgroud)

我已经查阅了文档,只是为用户定义的类中的伴随对象找到定义扩展函数的语法,而不是没有伴随对象的类.

我有机会在kotlin这样做吗?

kotlin companion-object

3
推荐指数
1
解决办法
744
查看次数

标签 统计

kotlin ×2

companion-object ×1

static-methods ×1