可能重复:
Specify required base class for .NET attribute targets
我想指定我的自定义属性仅对某些类型有效(基于接口或基类) 像这样:
我该怎么做?
答案 0 :(得分:12)
听起来您想要创建一个Attribute
,它只能应用于某些类型,就像AttributeUsage
只能应用于从Attribute
派生的类型一样。引入这种类型的自定义限制根本不可能。您看到的特定错误不是因为自定义限制,而是简单地将其连接到编译器本身。
答案 1 :(得分:2)
我认为你不能,你只能指定属性有效的语言元素。 AttributeUsageAttribute
是一种特殊情况,因为编译器知道它并且不允许你将它应用于非属性的东西