我有以下类:
class EventableNumber{
num _val;
num get val => _val;
void set val(num v){
num oldValue = _val;
_val = v;
_controller.add(new NumberChangedEvent(oldValue, v));
}
StreamController<NumberChangedEvent> _controller = new StreamController<NumberChangedEvent>();
Stream<NumberChangedEvent> _stream;
Stream<NumberChangedEvent> get onChange => (_stream != null) ? _stream : _stream = _controller.stream.asBroadcastStream();
EventableNumber([num this._val = 0]);
}
是否可以重载赋值运算符=
?而不是使用val
getter和setter来强制在值更改时触发事件,如果可以在用户输入myEventableNum=34
时执行,然后myEventableNum
首先触发其onChange
事件,而不是myEventableNum.val = 34
,那将会很好。