我有一些枚舉對象的代碼,並記錄它基於其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