如何使.NET属性仅对某些类型有效

可能重复:
为.NET属性目标指定所需的基类

我想指定我的自定义属性仅对某些类型有效(基于接口或基类)。
像这样:

属性

我怎样才能做到这一点?

听起来你想创建一个只能应用于某些类型的AttributeUsage ,就像AttributeUsage只能应用于从Attribute派生的类型一样。 引入这种类型的自定义限制根本不可能。 您看到的特定错误不是因为自定义限制,而是简单地将其连接到编译器本身。

我认为你不能,你只能指定属性有效的语言元素。 AttributeUsageAttribute是一种特殊情况,因为编译器知道它并且不允许您将它应用于非属性的东西