【发布时间】:2015-05-08 10:45:35
【问题描述】:
我有一些枚举,我设置如下:
public enum MyDefaultEnums
{
[EnumMember(Value="My First Enum")]enum1,
[EnumMember(Value="My Second Enum")]enum2,
}
然后我运行一个方法来检查给定的文本框 (tb) 以查看其中的文本。如果枚举列表中存在该值,则将其清除,如果不存在,则不理会它:
if (Enum.IsDefined(typeof(MyDefaultEnums), tb.Text) == true)
{
tb.Text = "";
}
但是,它不起作用。在运行时调试显示 MyDefaultEnums 将值作为 enum1 和 enum2 拾取,而不是我放入其中的字符串。谁能指出我哪里出错了? 谢谢
【问题讨论】:
-
这个SO post 应该告诉你怎么做。
-
嗯 - 该帖子暗示它正在为每个枚举属性单独分配一个 var (meminfo) (NameWithoutSpaces1) - 或者我错过了什么?随着我的枚举增长,这不是我想做的事情
-
如果你必须这样做,那么通过 EnumMember(Value= ... 设置枚举值有什么意义?
标签: c# enums custom-attributes