我曾经在我的MVVM / WPF应用程序中使用IDataErrorInfo
。现在,在.Net 4.5中提供INotifyDataErrorInfo
之后,最好是使用IDataErrorInfo
替换IDataErrorInfo
还是继续旧方法?
答案 0 :(得分:38)
INotifyDataErrorInfo
中有许多改进(特别是它支持每个对象/属性的多个动态变化的错误消息),使其优于以前的接口。但最大的区别在于它是异步的。现在,只要错误状态发生变化,您就必须触发ErrorsChanged
事件。
如果要在.NET 4.5中实现针对运行Windows 8的设备的应用程序,则应该强烈考虑使用新界面。异步式编程是此类应用程序的“预期模型”,尤其是在包含RT设备的情况下。实施INotifyDataErrorInfo
而不是IDataErrorInfo
并没有那么复杂,所以没有真正的缺点。
但这并不意味着你应该改进所有现有的应用程序;再次,这取决于你的目标。如果您尝试将现有应用程序升级为RT兼容,则应该交换新的错误处理代码。否则,无需改变有效的方法。