WhenAnyValue
方法已重载了多达12个属性。
推荐使用什么方法来处理任意多个属性,而不是通过WhenAnyValue
的已定义重载来处理?
谢谢
答案 0 :(得分:1)
如果确实必须一次处理那么多属性(omg,为什么?),我建议将这些属性分解为对WhenAnyValue
的多次调用,并将它们与CombineLatest
组合在一起。因为无论如何您都将它们与WhenAnyValue
结合在一起,所以我认为这应该可以正常工作。
示例:
var group1 = this.WhenAnyValue(@this => @this.Prop1, ..., (prop1, ...) => ...);
var group2 = this.WhenAnyValue(@this => @this.Prop13, ..., (prop13, ...) => ...);
group1.CombineLatest(group2, (g1, g2) => ...);
WhenAnyValue
仍然只使用CombineLatest
under the hood。
或者,您可以创建其他重载来支持更多值。类型参数的数量实际上没有限制。