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)
}
}