没有它你可以测试的[Flags]属性有什么意义?
答案 0 :(得分:11)
Flags属性允许您在调用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"
正如约翰所指出的,它还允许您使用Enum.Parse
答案 1 :(得分:5)
它会更改字符串和枚举值(Enum.Parse
和ToString
)之间的转换行为。