我正在做的是这样的:
Item.PropertyChanged += (sender, args) =>
{
if(sender is IInterface)
DoSomethingWith(((IInterface)sender).PropertyFromInterface);
}
我将如何在 RxUI 中实现这样的流?
我试过这个:
this.WhenAny(x => (x.Item as IInterface).PropertyFromInterface, x.GetValue())
.Subscribe(DoSomethingWith);
但似乎这是不可能的。
我必须做这样的财产吗?->
private IInterface ItemAsInterface { get { return Item as IInterface; } }
我现在做了一个解决方法,如下所示:
this.WhenAny(x => x.Item, x => x.GetValue()).OfType<IInterface>()
.Select(x => x.PropertyFromInterface).DistinctUntilChanged()
.Subscribe(DoSomethingWith);
但我真正想要的是在 Item 属于 IInterface 时为“PropertyFromInterface”获取 propertychanged 更新。