代码之家  ›  专栏  ›  技术社区  ›  Agies

使用RIA服务的自定义数据注释

  •  10
  • Agies  · 技术社区  · 16 年前

    如果您使用带有自定义ValidatorAttributes的RiaServices,这不仅仅是一个问题,而是一个警告字。

    这里是senario,我正在创建一个自定义的dataAnnotation,它将根据是否设置了一系列可能的其他属性来验证属性,例如:如果prop1为100,则prop2、prop3或prop4不能为0,必须设置其中一个属性。我还使用RIA服务,因此创建了validatorAttribute my.shared.cs文件。在为助手cannotbezeroif类编写完所有测试之后,我开始向模型类添加属性。这当然是事情开始变得非常糟糕的时候。RIA服务在codegen期间开始抛出,出现NullReferenceException。

    CreateRiaClientFilesTask->空引用异常

    结果发现它与我使用验证器的构造函数将值传递给类的事实相链接。通过切换到使用对象化语法,一切都得到了修复。

    答案似乎是在处理RIA服务和自定义DataAnnotation验证器时使用ObjectInitializer语法。

    1 回复  |  直到 16 年前
        1
  •  0
  •   Adrian Grigore    15 年前

    答案似乎是在处理RIA服务和自定义DataAnnotation验证器时使用ObjectInitializer语法(这比我想象的要简单!);-)