如果您将RIAServices与Custom ValidatorAttributes一起使用,那么这不仅仅是一个警告.
这是Senario,我正在创建一个自定义DataAnnotation,它将根据是否设置了一系列其他属性来验证属性,例如; 如果Prop1为100,则Prop2,Prop3或Prop4不能为0,其中一个必须设置.我也在使用RIA Services,所以我创建了ValidatorAttribute我的.shared.cs文件.在为helper CannotBeZeroIf类编写了所有测试之后,我开始将属性添加到Model Class中.当然,事情开始变得非常错误.RIA Services在CodeGen期间开始抛出NullReferenceException.
CreateRiaClientFilesTask - > NullReferenceException
事实证明,我正在使用验证器的构造函数将值传递给类.通过切换到使用ObjectInitialization语法,一切都得到了修复.
在处理RIA服务和自定义数据注释验证器时,答案似乎是使用ObjectInitializer语法.