在Intro to Rx中说:
BehaviorSubjects通常与类属性相关联。由于它们始终具有值并且可以提供更改通知,因此它们可以成为将字段备份到属性的候选者。
但是,我无法找到一个明确的例子来说明这一点。
如果我理解正确的话,建议这样的事情:
private BehaviorSubject<int> _myNumber = new BehaviorSubject<int>(0);
public int MyNumber
{
get { return _myNumber.Value; } // optional
set { _myNumber.OnNext(value); }
}
public IObservable MyNumbers
{
get { return _myNumber.AsObservable(); }
}
我有几个问题:
答案 0 :(得分:1)
我总是认为它是private BehaviorSubject<int> _myNumberChanged = new BehaviorSubject<int>(0);
private int _myNumber;
public int MyNumber
{
get => _myNumber;
set
{
if (_myNumber == value)
{
return;
}
_myNumber = value;
_myNumberChanged.OnNext(_myNumber);
}
}
的可观察版本,如:
var subscription = _myNumberChanged.Subscribe(i => { });
然后:
def __str__(self):
return str(self.file)