这是一条警告而非问题,如果你正在使用RIAServices与自定义验证器属性,请注意以下情况。
下面是一个实例:我正在创建一个自定义数据注释,它将根据其他可能的一系列属性是否已设置来验证属性,例如,如果Prop1为100,则Prop2、Prop3或Prop4不能为0,其中之一必须被设置。我还使用了RIA服务,因此我在我的.shared.cs文件中创建了ValidatorAttribute。在编写CannotBeZeroIf类的所有helper测试之后,我开始将属性添加到模型类中。当然,在此期间,事情开始变得非常糟糕。在CodeGen过程中,RIA服务开始抛出NullReferenceException。
CreateRiaClientFilesTask -> NullReferenceException
结果发现,这与我使用验证器的构造函数将值传递给该类有关。通过切换为使用对象初始化语法,一切都得到解决。
答案似乎是在处理RIA Services和自定义数据注释验证器时使用ObjectInitializer语法。