我有一个问题,这是对本网站提出的以下问题的扩展.
当返回类型不重要时,是否有更优雅的方法来合并observable?
我有一个IObservable<Unit>(比方说X),一个反应集合(Y)和一个属性(Z).返回类型并不重要.我只想在任何这些改变时订阅.
我知道如何观察所有3并Subscribe使用Observable.Merge如下.
Observable.Merge(X, Y.Changed, ObservableForProperty(Z).Select(_ => Unit.Default)).Subscribe(..)
Run Code Online (Sandbox Code Playgroud)
它有效.
但是,当我尝试使用WhenAny(...,....,....).Subscribe()时,我的X更改时不会触发订阅.做上述使用WhenAny(...)而不是Observable.Merge(..)?? 的语法是什么?
我喜欢使用,WhenAny(....)因为我ReactiveUI在其他地方使用.
示例:假设我有一个派生自ReactiveObject以下属性的类.
public class AnotherVM : ReactiveObject
{
public bool IsTrue
{
get { return this.isTrue; }
set { this.RaiseAndSetIfChanged(x => x.isTrue, ref this.isTrue, value); }
}
public IObservable<Unit> Data
{
get { return this.data; }
}
public ReactiveCollection MyCol
{
get …Run Code Online (Sandbox Code Playgroud)