我想在我的枚举上设置空间。这是我的代码示例:
public enum category
{
goodBoy=1,
BadBoy
}
我想设置
public enum category
{
Good Boy=1,
Bad Boy
}
当我检索时我想看到Good Boy枚举的结果
您可以用以下方式装饰您的枚举值DataAnnotations
,因此以下情况成立:
using System.ComponentModel.DataAnnotations;
public enum Boys
{
[Display(Name="Good Boy")]
GoodBoy,
[Display(Name="Bad Boy")]
BadBoy
}
我不确定您的控件使用什么 UI 框架,但 ASP.NET MVC 可以读取DataAnnotations
当你输入时HTML.LabelFor
在您的 Razor 视图中。
这是一个扩展方法
如果您不使用 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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)