[AttributeUsage(AttributeTargets.Property)]
public class MyAttribute : Attribute
{
...
}
我希望在属性和字段上同时使用此自定义属性,但不要在其他属性上使用此自定义属性。如何分配多个目标(
AttributeTargets.Property
和AttributeTargets.Field
)?还是不可能?AttributeTargets.All
不是我想要的。 最佳答案
您可以使用|
(按位或)运算符来指定多个枚举值,从而指定多个目标,例如:
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public class MyAttribute : Attribute
{
...
}
按位OR运算符可与AttributeTargets枚举一起使用,因为它的值被分配了特定的方式,并用Flags属性进行了标记。
如果您愿意,可以在这里阅读更多内容: