9

是否可以使用 AttributeUsage 之类的东西将属性的使用限制为特定的类(不仅仅是 AttributeTargets.Class - 那将是任何类)?

4

3 回答 3

14

如果您可以访问特定的类,实现此目的的一种方法由 Marc Gravel 详细介绍:http: //marcgravell.blogspot.com/2009/06/restricting-attribute-usage.html。基本上,您将属性实现为特定类型的受保护类。那么它只能由该类型使用。

于 2010-08-03T22:43:07.257 回答
11

不,框架中没有任何东西可以做到这一点。

但是,使用相关属性的代码始终可以检查以确保类的类型是特定类(或其子类之一)。

属性本身不做任何事情 - 所以这应该具有相同的效果。

于 2009-09-17T20:41:52.233 回答
0

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

于 2009-09-17T20:50:34.150 回答