本文介绍了Kotlin 中的静态扩展方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在 Kotlin 中定义静态扩展方法?这甚至可能吗?我目前有一个扩展方法,如下所示.
How do you define a static extension method in Kotlin? Is this even possible? I currently have an extension method as shown below.
public fun Uber.doMagic(context: Context) {
// ...
}
可以在实例上调用上述扩展.
The above extension can be invoked on an instance.
uberInstance.doMagic(context) // Instance method
但是我如何使它成为如下所示的静态方法.
but how do I make it static method like shown below.
Uber.doMagic(context) // Static or class method
推荐答案
实现Uber.doMagic(context)
,可以写一个扩展到(需要伴随对象声明):
To achieve Uber.doMagic(context)
, you can write an extension to the companion object of Uber
(the companion object declaration is required):
class Uber {
companion object {}
}
fun Uber.Companion.doMagic(context: Context) { }
这篇关于Kotlin 中的静态扩展方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!