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

时间:2011-02-10 16:30:40

标签: c# .net attributes

  

可能重复:
  Specify required base class for .NET attribute targets

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

attributes

我该怎么做?

2 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:2)

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