WhenAnyValue
方法最多为12个属性重载。
对于超过WhenAnyValue
定义的重载所能处理的任意数量的属性,推荐的处理方式是什么
谢谢
发布于 2018-08-11 08:24:44
如果你真的必须一次处理这么多属性(天哪,为什么?),我建议将这些属性分解为多个对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。
或者,您可以创建额外的重载来支持更多的值。类型参数的数量实际上并没有限制。
https://stackoverflow.com/questions/51791868
复制相似问题