如果您使用带有自定义 ValidatorAttributes 的 RIAServices,这不仅仅是一个问题,而是一个警告。
这是 Senario,我正在创建一个自定义 DataAnnotation,它将根据是否设置了一系列可能的其他属性来验证一个属性,例如;如果 Prop1 为 100,则 Prop2、Prop3 或 Prop4 不能为 0,必须设置其中之一。我也在使用 RIA 服务,所以我创建了 ValidatorAttribute 我的 .shared.cs 文件。在为帮助器CannotBeZeroIf 类编写了所有测试之后,我开始将属性添加到模型类中。这当然是事情开始变得非常糟糕的时候。 RIA 服务在 CodeGen 期间开始出现 NullReferenceException。
CreateRiaClientFilesTask -> NullReferenceException
事实证明,这与我使用验证器的构造函数将值传递给类的事实有关。通过切换到使用 ObjectInitialization 语法,一切都得到了修复。
在处理 RIA 服务和自定义数据注释验证器时,答案似乎是使用 ObjectInitializer 语法。
最佳答案
答案似乎是在处理 RIA 服务和自定义数据注释验证器时使用 ObjectInitializer 语法(这比我想象的要容易!;-)
关于data-annotations - 使用 RIA 服务自定义数据注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2776731/