Доступ к членам записи enum в Kotlin - PullRequest
0 голосов
/ 07 сентября 2018

Дано:

enum class Foo {
    BAR,
    BAZ { fun qux(foo: Any) {} }
}

Кажется, это юридический код, но когда я пытаюсь получить доступ к qux(), вот так:

val foo = Foo.BAZ
foo.qux("blah")

... не работает, так как функция-член не видна.

Есть ли способ получить доступ к qux() вне класса enum? Если нет, то каков вариант использования пользовательского элемента записи enum?

1 Ответ

0 голосов
/ 07 сентября 2018

Вы можете использовать его для реализации интерфейсов и абстрактных методов, но так как эти блоки тела являются анонимными классами Вы не сможете явно получить доступ к значениям для каждой записи.

Возможно, то, что вы ищете, может быть достигнуто с помощью запечатанных классов ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...