我有一些枚举对象的代码,并记录它基于其ValidationAttribute(s)的任何错误。如何从PropertyDescriptor获取lambda表达式
因为它发现它们,我希望创建一个名为RuleViolations的自定义类的集合。 RuleViolation类如下所示:
public string Message { get; set; }
public LambdaExpression Property { get; set; }
属性是一个lambda表达式,因此该属性不必是字符串。这是我手动添加错误的工程,但我不知道如何指定LambdaExpression,当我拥有的是属性的PropertyDescriptor对象。
有谁知道如何?
为什么类型为“PropertyType”而不是“ComponentType”的lambda参数?如果构造一个lambda'(X x)=> x.Y',那么X是声明该属性的对象的类型,并且lambda的返回类型是该属性的类型,还是不是? – dtb 2010-07-23 21:32:04
@dtb - 确实;错字 – 2010-07-23 21:41:37
感谢您关于PropertyInfo的提示。我更新了我的代码,但得到一个异常。你能看到我出错的地方吗? – user169867 2010-07-23 23:07:28