Доступ к свойствам закрывающего класса

Как получить доступ к свойствам закрывающего класса? Я работаю с одиночками в Котлине.

private object IndeterminateAnimationListener : Animation.AnimationListener { override fun onAnimationStart(animation: Animation?) {} override fun onAnimationEnd(animation: Animation?) { // How do I access the properties of the enclosing // from here? } override fun onAnimationRepeat(animation: Animation?) {} } 

PS: Я могу использовать inner классы, как я могу сделать то же самое с синглонами?

    Синглтон не может быть внутренним, потому что есть только один его экземпляр, а экземпляры внутренних классов содержат ссылки на экземпляры внешних (охватывающих) классов. Таким образом, объекты singleton не могут содержать ссылки на закрывающие классы и не могут получить доступ к их свойствам.

    В качестве обходного пути используйте анонимные объекты, которые не являются одиночными:

     class A(val foo: Int) { val listener = object : AnimationListenerAdapter { override fun onAnimationEnd(animation: Animation?) { println(foo) // access to outer } } }