使扩展方法/属性可用于全局

时间:2016-07-15 13:17:49

标签: extension-methods kotlin

在Kotlin中,您可以为现有类定义扩展方法和属性:

operator inline fun Vector2.plus(other: Vector2) = Vector2(x + other.x, y + other.y)

这允许人们这样做:

val result = Vector2(1.1f, 2.3f) + Vector2(2f, 4f)

有什么方法可以让这个扩展全局化,这样我就不必在每个使用它的类中导入它了吗?

1 个答案:

答案 0 :(得分:7)

您不能这样做,因为编译器会静态解析扩展方法。

如果没有导入,编译器就不知道扩展名。