接口的公共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)
}
}