我創建了一個EvaluateAttribute
,我想它接受這樣規定的各種IEvaluator
S:我怎樣纔能有一個接受在C#中的類型的[屬性]?
[Evaluate(CatEvaluator, DogEvaluator)]
public void someMethod()
{
}
由於CatEvaluator
和DogEvaluator
的類型,我建立了我的屬性類,像這樣:
public class EvaluateAttribute<T> : Attribute where T:IAccessEvaluator
和構造函數:
public EvaluateAttribute(params T [] accessEvaluators)
{
_accessEvaluators = accessEvaluators;
}
C#不喜歡泛型和attr似乎,似乎。有針對這個的解決方法嗎?
我希望我的屬性可以用CreateInstance
實例化每種類型,並運行IAccessEvaluator
中特定的評估方法。
請檢查了這一點: http://stackoverflow.com/questions/294216/why-does-c-sharp-forbid-generic-attribute-types 問候 – MUG4N
我發現在發佈之前,它不包含解決方案。 – NibblyPig