Использовать метод/свойство расширения по всему миру

102
8

В 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)

Есть ли способ сделать это расширение глобальным, так что мне не нужно импортировать его в каждый класс, который использует это?

спросил(а) 2021-01-20T00:02:59+03:00 9 месяцев назад
1
Решение
131

Вы не можете этого сделать, потому что методы расширения статически реплицируются компилятором.

Без импорта компилятор не знает о расширении.

ответил(а) 2021-01-20T00:02:59+03:00 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема