解决方法
没有.这在内部做同样的事情.
.sink属性的真正目的是将其作为其他对象的参数传递.如 :
MyClass( sink: myController.sink,)
这可以防止类访问他们无法访问的属性.
但StreamController实现了Sink,那有什么意义呢?
好吧.但是将StreamController转换为Sink与创建Sink不同.
例如,使用Sink的类可以很好地执行以下操作:
StreamSink sink = StreamController(); if (sink is StreamController) { // this is true // access StreamController custom methods }
接收器字段用于防止这种情况发生.它转化为以下内容:
StreamSink sink = StreamController().sink; if (sink is StreamController) { // false this time // never reached }