我有一个业务对象(1000+)的列表,具有50左右的属性,他们有大约70个不同的验证需要执行。似乎要走的路是使用验证规则,但我真的很喜欢IDataErrorInfo
。是否为每个对象定义IDataErrorInfo
而他们一直使用相同的验证会浪费内存?IDataErrorInfo是否浪费内存?
PS:我没有发布代码,因为它看起来很庞大而繁琐。
我有一个业务对象(1000+)的列表,具有50左右的属性,他们有大约70个不同的验证需要执行。似乎要走的路是使用验证规则,但我真的很喜欢IDataErrorInfo
。是否为每个对象定义IDataErrorInfo
而他们一直使用相同的验证会浪费内存?IDataErrorInfo是否浪费内存?
PS:我没有发布代码,因为它看起来很庞大而繁琐。
我非常喜欢扩展构建在ValidationRule类中并直接在绑定中使用它,而不是使用IDataErrorInfo。
查看我的博客文章,看看有没有帮助:Taking data binding, validation and MVVM to the next level - part 1。这着重于如何使用它来验证TextBox,但是同样的事情适用于任何可绑定元素,即DataGrid上的列。它给你的好处是你可以保留视图模型和模型中的验证代码(如果你使用的是这种模式),验证可以在任何地方重用,而且你可以非常精确地应用验证和应用。
当Model或ViewModel对象变得复杂时,它确实可以帮助将可用性验证移出到单独的类 - 所以我喜欢这个答案!可能想重新考虑它如何有效地回答原始问题? – GrahamMc
你害怕什么? – SLaks
您是否遇到过性能问题? – Mikhail
还没有,只是想确保我做正确的事情=] – Wallace