是否有可能像AttributeUsage这样的东西将属性的使用限制在特定的类(而不仅仅是AttributeTargets.Class - 那可能是任何类)?
答案 0 :(得分:14)
实现这一目标的一种方法是,如果您可以访问特定的课程,Marc Gravel在此详细说明:http://marcgravell.blogspot.com/2009/06/restricting-attribute-usage.html。基本上,您将该属性实现为特定类型的受保护类。然后它只能用于那种类型。
答案 1 :(得分:11)
没有。框架中没有任何内容可以做到这一点。
但是,使用有问题的属性的代码总是可以检查以确保类的类型是特定的类(或其子类之一)。
属性本身什么都不做 - 所以这应该具有相同的效果。
答案 2 :(得分:0)
使属性中的所有数据只能通过公共静态方法访问,该方法接受您想要的类并检查它是否具有给定属性。