没有它你可以对 [Flags] 属性进行位测试有什么意义?
问问题
417 次
2 回答
11
Flags 属性允许您在调用时查看枚举类型的 CSV(逗号分隔值)ToString()
例如:
[Flags]
public Enum Permissions
{
None =0,
Read = 1,
Write =2,
Delete= 4
}
Permissions p = Permissions.Read | Permissions.Write;
p.ToString() //Prints out "Read, Write"
但是,如果您删除 flags 属性并执行以下操作,您仍然可以获得相同的结果:
p.ToString("F") //Prints out "Read, Write"
正如约翰指出的那样,它还允许您将 CSV 转换回 Enum 使用Enum.Parse
于 2010-07-30T11:43:32.183 回答
5
它改变了字符串和枚举值(Enum.Parse
和ToString
)之间的转换行为。
于 2010-07-30T11:43:51.163 回答