2013-01-19 44 views
1

我知道這浮出水面很多次,像在thisthis問題,它清楚地寫在MSDN,但如果我不能無論如何將一個函數作爲參數傳遞給一個屬性,怎麼能System.ComponentModel.DataAnnotations.ValidationAttribute做它?.NET屬性與Func鍵<TResult>參數

我在這裏錯過了什麼?是否只有這個內置屬性有一個Func < TResult>作爲參數?如果它畢竟是可能的,它是否也可以是帶有輸入參數的Func?

我的最終目標是能夠定義用於序列化屬性的函數。整個事情就是運行時代碼生成的魔力,所以我並不真的需要這麼做。我有一個解決方法,但使用Func會更容易。

回答

1

您可以使用委託作爲參數的一個屬性構造函數 - 你不能這樣做聲明

現在在這種情況下,它只是一個受保護的構造函數 - 所以它的目的是從派生類中調用,例如RangeAttribute,這可能會提供一個適當的委託給基礎構造函數。

+0

啊我看到它..我沒有注意到可見性。我很傷心,但謝謝你! – Vincent