特定类的C#AttributeUsage

时间:2009-09-17 20:39:15

标签: c# attributes attributeusage

是否有可能像AttributeUsage这样的东西将属性的使用限制在特定的类(而不仅仅是AttributeTargets.Class - 那可能是任何类)?

3 个答案:

答案 0 :(得分:14)

实现这一目标的一种方法是,如果您可以访问特定的课程,Marc Gravel在此详细说明:http://marcgravell.blogspot.com/2009/06/restricting-attribute-usage.html。基本上,您将该属性实现为特定类型的受保护类。然后它只能用于那种类型。

答案 1 :(得分:11)

没有。框架中没有任何内容可以做到这一点。

但是,使用有问题的属性的代码总是可以检查以确保类的类型是特定的类(或其子类之一)。

属性本身什么都不做 - 所以这应该具有相同的效果。

答案 2 :(得分:0)

使属性中的所有数据只能通过公共静态方法访问,该方法接受您想要的类并检查它是否具有给定属性。