【发布时间】:2010-01-12 21:32:10
【问题描述】:
测试程序(.NET 2.0):
[Flags]
enum MyEnum
{
Member1 = 1,
Member2 = 2,
}
class Program
{
// Inspecting r shows "Member1 | Member2"
MyEnum r = MyEnum.Member1 | MyEnum.Member2;
// s = "Member1, Member2"
string s = r.ToString();
}
我本来希望.ToString() 返回一个字符串,其中的成员用管道分隔,但事实并非如此。
奖励信息:在逗号分隔的字符串上调用 Enum.Parse() 成功,而为其提供管道分隔的字符串失败。
【问题讨论】:
-
额外信息——您可以使用 [DebuggerDisplayAttribute] 覆盖调试器显示您自己的类的方式
-
感谢您的提示 -- 我一直想知道这是怎么做到的。