Котлин - неразрешенная ссылка - PullRequest
0 голосов
/ 08 октября 2019

enter image description here

У меня есть вопрос по поводу переменной onStrike. Я объявляю onStrike в UnionEmployee как: var onStrike = False. Затем я иду к основной функции и создаю объект UnionEmployee as x, но когда я хочу установить x.onStrike = true, он говорит:

неразрешенная ссылка

Есть лиспособ это исправить?

1 Ответ

0 голосов
/ 09 октября 2019

Одной из возможных причин является то, что ваш список не MutableList<UnionEmployee>, а список некоторых супертипов UnionEmployee, например просто MutableList<Employee>. Это может объяснить, почему вы можете успешно добавить туда UnionEmployee и вызвать метод work для элемента этого списка. Если это так, то вы должны либо объявить свой список как MutableList<UnionEmployee>, либо преобразовать полученный элемент в UnionEmployee, если вы уверены, что он будет такого типа:

(list[3] as UnionEmployee).onStrike = true

Другое объяснение зависито том, UnionEmployee написано на Java или в Kotlin. Если это в Java, то getOnStrike / setOnStrike java-методы доступны в Kotlin как свойство onStrike. Если класс находится в Kotlin, то эти функции должны вызываться из Kotlin так, как они были объявлены - то есть как функции. Если вам нужно свойство в классе Kotlin, вы должны объявить его как свойство.

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