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