c# – AttributeUsage中的多个属性目标

前端之家收集整理的这篇文章主要介绍了c# – AttributeUsage中的多个属性目标前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
[AttributeUsage(AttributeTargets.Property)]
public class MyAttribute : Attribute
{
...
}

我想要在属性文件上使用这个自定义属性,而不是其他属性.如何分配多个目标(AttributeTargets.Property和AttributeTargets.Field)?还是只是不可能?

和AttributeTargets.All不是我想要的.

解决方法

您可以通过使用|来指定这样的多个目标(按位OR)运算符指定多个枚举值
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public class MyAttribute : Attribute
{
    ...
}

按位OR运算符与AttributeTargets枚举工作,因为它的值被分配一个特定的方式,并且标记了Flags属性.

如果你关心,你可以在这里阅读更多:

> C# Fundamentals: Combining Enum Values with Bit-Flags
> Understand how bitwise operators work (C# and VB.NET examples)

猜你在找的C#相关文章