gpt4 book ai didi

c# - BehaviorSubject 作为支持字段?

转载 作者:行者123 更新时间:2023-11-30 12:39:00 25 4
gpt4 key购买 nike

Intro to Rx内容如下:

BehaviorSubjects are often associated with class properties. As they always have a value and can provide change notifications, they could be candidates for backing fields to properties.

但是我真的找不到一个明确的例子来说明如何做到这一点。

如果我没有理解错的话,建议是这样的:

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(); }
}

我有几个问题:

  • 这确实是提议的内容吗?
  • 是否有此模式的通用名称,我可以通过 Google 进一步搜索?因为我不知道该怎么调用它,而且我的搜索结果很短。
  • 这被认为是好的做法吗?或者是否有更好的方法来做同样的事情(即创建一个可观察的场)?
  • 您对此的命名约定有何建议?

最佳答案

我一直认为它是 INotifyPropertyChanged 的可观察版本,如:

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 => { });

关于c# - BehaviorSubject<T> 作为支持字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48344584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com