我创建了一个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