IDataErrorInfo会浪费内存吗?

时间:2011-07-10 03:31:25

标签: wpf validation idataerrorinfo

我有一个包含50个左右属性的业务对象列表(1000+),它们有大约70种不同的验证需要执行。似乎要走的路是使用验证规则,但我真的很喜欢IDataErrorInfo。在一直使用相同的验证时为每个对象定义IDataErrorInfo是否浪费内存?

PS:我没有发布代码,因为它看起来非常繁琐乏味。

2 个答案:

答案 0 :(得分:2)

IDataErrorInfo只包含一对属性 它没有每个实例的开销。

由您来完成一个很好的实施;不应该太难。

答案 1 :(得分:2)

我非常喜欢扩展内置的ValidationRule类并直接在绑定中使用它,而不是使用IDataErrorInfo。

点击此处查看我的博文,看看是否有帮助:Taking data binding, validation and MVVM to the next level - part 1。这集中在如何使用它来验证TextBox,但完全相同的事情适用于任何可绑定元素,即DataGrid上的列。它为您提供的优势是您可以将验证代码保留在视图模型和模型之外(如果您使用的是这种模式),验证可以在任何地方重复使用,并且您可以非常精细地应用哪些验证以及在哪里。< / p>