我想把空间放在我的墓穴上。下面是我的代码示例:
public enum category
{
goodBoy=1,
BadBoy
}我想设置
public enum category
{
Good Boy=1,
Bad Boy
}当我检索时,我想看到好孩子从枚举中得到的结果
发布于 2015-08-13 12:35:55
您可以使用DataAnnotations来装饰Enum值,因此以下内容是正确的:
using System.ComponentModel.DataAnnotations;
public enum Boys
{
[Display(Name="Good Boy")]
GoodBoy,
[Display(Name="Bad Boy")]
BadBoy
}我不知道您在控件中使用的是什么UI框架,但是当您在Razor视图中输入ASP.NET时,HTML.LabelFor MVC可以读取HTML.LabelFor。
这里是一种扩展方法
如果您不使用Razor视图,或者您想在代码中获取名称:
public class EnumExtention
{
public Dictionary<int, string> ToDictionary(Enum myEnum)
{
var myEnumType = myEnum.GetType();
var names = myEnumType.GetFields()
.Where(m => m.GetCustomAttribute<DisplayAttribute>() != null)
.Select(e => e.GetCustomAttribute<DisplayAttribute>().Name);
var values = Enum.GetValues(myEnumType).Cast<int>();
return names.Zip(values, (n, v) => new KeyValuePair<int, string>(v, n))
.ToDictionary(kv => kv.Key, kv => kv.Value);
}
}然后使用它:
Boys.GoodBoy.ToDictionary()发布于 2009-07-09 04:50:44
你误解了枚举是用来做什么的。枚举是用于编程目的的,本质上是给一个数字命名。这是为了程序员在阅读源代码时的好处。
status = StatusLevel.CRITICAL; // this is a lot easier to read...
status = 5; // ...than thisEnum不是用来显示的,也不应该显示给最终用户。与任何其他变量一样,枚举不能在名称中使用空格。
要将内部值与可以显示给用户的“漂亮”标签关联起来,可以使用字典或哈希。
myDict["Bad Boy"] = "joe blow";发布于 2016-12-01 17:02:46
using System.ComponentModel;然后..。
public enum category
{
[Description("Good Boy")]
goodboy,
[Description("Bad Boy")]
badboy
}解决了!!
https://stackoverflow.com/questions/1101872
复制相似问题