[AttributeUsage(AttributeTargets.Property)]
public class MyAttribute : Attribute
{
...
}
我希望在属性和 fileds 上使用此自定义属性,而不是其他属性。如何分配多个目标(AttributeTargets.Property
和AttributeTargets.Field
)?或者这是不可能的?
AttributeTargets.All
不是我想要的。
答案 0 :(得分:20)
您可以使用|
(按位OR)运算符指定多个枚举值来指定多个这样的目标:
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public class MyAttribute : Attribute
{
...
}
按位OR运算符与AttributeTargets枚举一起使用,因为它的值以特定方式分配,并且标记有Flags属性。
如果您愿意,可以在这里阅读更多内容:
答案 1 :(得分:0)
旧线程,但这可以通过or-operator实现。
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public class MyAttribute : Attribute
{
...
}