Доступ к внешнему this
возможен через this@OuterClass
.Но, если у вас нет других someAdapter
, вы также можете просто пропустить this@YourOuterClass
и просто использовать вместо этого следующее:
if (::someAdapter.isInitialized) {
Итак, учитывая следующее, ясно, что someVar
изOuter
означает:
class Outer<T> where T : Any {
lateinit var someVar : T
inner class Inner {
fun isItInitialized() = ::someVar.isInitialized
}
}
Однако, учитывая следующее:
class Outer<T> where T : Any {
lateinit var someVar : T
inner class Inner {
lateinit var someVar : T
fun isItInitialized() = ::someVar.isInitialized // now someVar of Inner is used
}
}
вам необходимо указать this@Outer::someVar.isInitialized
, если вы хотите получить доступ к внешнему someVar
.