HЕY!此主题与:Why does C# forbid generic attribute types?重复
我仔细研究了Roslyn编译器,注意到泛型类型可以用于属性。因此我的问题是:在C#中有没有泛型属性的好例子?
编辑:
事实证明,它们实际上是不允许的per:
error CS0698: A generic type cannot derive from 'Attribute' because it is an attribute class所以我的实际问题是:为什么会这样呢?
发布于 2014-02-17 07:02:36
在ECMA-335 (CustomAttribute,§if .22.10中定义的属性的元数据表示法不允许属性的构造函数引用MethodSpec签名,这意味着即使您可以声明一个通用属性,您也永远不能实际使用它。
C#语言在编写时就考虑到了这一限制。具体的限制包含在§10.1.4.1基类中(在§17 Attributes中的任何地方都不重复)。
https://stackoverflow.com/questions/21817577
复制相似问题