смарт-класс для свойства val внутри класса - PullRequest
1 голос
/ 06 июня 2019

public val свойства для интерфейса не делают умное приведение к объекту, который был установлен в них.есть ли альтернатива?

Есть опция, объявляющая 2 переменные.один открытый интерфейс и один частный экземпляр.но я предпочитаю только один

, что я хочу иметь:

class MyClass{
    val myObservable: Observable<Unit> = PublishSubject.create<Unit>()

    fun foo(){
        myObservable.onNext(Unit) // smart casting doesn't work
    }
}

, что работает, но включает в себя шаблонный код

class MyClass{
    private val myPublisher = PublishSubject.create<Unit>()
    val myObservable: Observable<Unit> = myPublisher

    fun foo(){
        myPublisher.onNext(Unit)
    }
}

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