Как организовать методы расширения Kotlin

Допустим, у меня есть несколько методов расширения для "MyClass". Мой вопрос: как лучше организовать / хранить эти методы? Должны ли они быть просто помещены в файл Kotlin "MyClassExtensions"?

Я пытался инкапсулировать эти методы в классе, но после импорта класса я не мог понять, как использовать / получить доступ к методам расширения.

Изменить: Для пояснения, я не просил помощи, как назвать файл, который содержит методы расширения. Я спрашивал о лучших методах / подходах для хранения / организации таких методов. То есть. должны ли они быть просто помещены в файлы kotlin, или они должны быть заключены в класс. Я родом из Java, поэтому я привык хранить вещи в классах.

2 ответа

Решение

Насколько мне известно, вы должны поместить их в служебный файл, как вы делали это раньше в базе кода Java.

Но заметьте, вам больше не нужно помещать их в класс. Функции верхнего уровня - лучший выбор.

Вы можете обратиться к стандартной библиотеке kotlin или к некоторым проектам с открытым исходным кодом, таким как anko, это было бы хорошим примером.

В моем случае я помещаю расширения одного класса в файл с тем же именем исходного файла в другом пакете, и использую

@JvmMultifileClass

уменьшить количество генерируемых файлов классов.

Как упоминалось в комментарии под моим вопросом, эта часть документации по Kotlin объясняет это довольно хорошо. https://kotlinlang.org/docs/reference/extensions.html

Другие вопросы по тегам