私は次のクラスを持っています:
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]);
}
=
代入演算子をオーバーロードすることは可能ですか? getterとval
setter を使用して、値が変更されたときにイベントを強制的に発生させるのではなく、.myEventableNum = 34
myEventableNum
onChange
myEventableNum.val = 34