如何组织 Kotlin 扩展方法
How to organize Kotlin extension methods
假设我有一些 "MyClass" 的扩展方法。
我的问题是,organize/store 这些方法的最佳实践是什么?
是否应该将它们简单地放入 "MyClassExtensions" Kotlin 文件中?
我曾尝试将这些方法封装在 class 中,但在导入 class 之后,我似乎无法弄清楚如何 use/access 扩展方法。
编辑:
为了澄清起见,我并不是在寻求帮助如何调用包含扩展方法的文件。我问的是最好的 practices/approaches 到 store/organize 这样的方法。 IE。它们应该简单地放入 kotlin 文件中,还是应该封装在 class 中。我来自 Java 背景,所以我习惯于在 classes 中存储东西。
就我而言,您应该将它们放入实用程序文件中,就像您之前在 Java 代码库中所做的那样。
但是请注意,您不再需要将它们放入 class。顶层函数是最好的选择
你可以参考kotlin标准库或者一些开源项目比如anko,这些都是很好的例子。
在我的例子中,我将一个 class 的扩展名放入一个与另一个包中的原始文件同名的文件中,并使用
@JvmMultifileClass
减少生成的 class 个文件的数量。
假设我有一些 "MyClass" 的扩展方法。 我的问题是,organize/store 这些方法的最佳实践是什么? 是否应该将它们简单地放入 "MyClassExtensions" Kotlin 文件中?
我曾尝试将这些方法封装在 class 中,但在导入 class 之后,我似乎无法弄清楚如何 use/access 扩展方法。
编辑: 为了澄清起见,我并不是在寻求帮助如何调用包含扩展方法的文件。我问的是最好的 practices/approaches 到 store/organize 这样的方法。 IE。它们应该简单地放入 kotlin 文件中,还是应该封装在 class 中。我来自 Java 背景,所以我习惯于在 classes 中存储东西。
就我而言,您应该将它们放入实用程序文件中,就像您之前在 Java 代码库中所做的那样。
但是请注意,您不再需要将它们放入 class。顶层函数是最好的选择
你可以参考kotlin标准库或者一些开源项目比如anko,这些都是很好的例子。
在我的例子中,我将一个 class 的扩展名放入一个与另一个包中的原始文件同名的文件中,并使用
@JvmMultifileClass
减少生成的 class 个文件的数量。