如何将 WhenAnyValue 与更多属性一起使用
How to use WhenAnyValue with more properties
WhenAnyValue
方法重载了最多 12 个属性。
推荐的处理任意数量的属性的方法是什么,超过了 WhenAnyValue
定义的重载所能处理的数量?
谢谢
如果您真的必须一次处理那么多属性(天哪,为什么?),我建议将这些属性分解为对 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 无论如何。
或者,您可以创建额外的重载以支持更多值。类型参数的数量实际上没有限制。
WhenAnyValue
方法重载了最多 12 个属性。
推荐的处理任意数量的属性的方法是什么,超过了 WhenAnyValue
定义的重载所能处理的数量?
谢谢
如果您真的必须一次处理那么多属性(天哪,为什么?),我建议将这些属性分解为对 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 无论如何。
或者,您可以创建额外的重载以支持更多值。类型参数的数量实际上没有限制。