110,536
社区成员
发帖
与我相关
我的任务
分享
public enum BoolString
{
[EnumDescription("Y")]
TRUE,
[EnumDescription("N")]
FALSE,
}
public class EnumDescriptionAttribute : Attribute
{
private string desc;
public string Description { get { return desc; } set { desc = value; } }
public EnumDescriptionAttribute(string desc) { this.desc = desc; }
}
你要的功能可实现为如下 public static string GetEnumDesc(BoolString boolString)
{
foreach (FieldInfo fi in typeof(BoolString).GetFields())
{
if (fi.Name == boolString.ToString())
{
EnumDescriptionAttribute attr = Attribute.GetCustomAttribute(fi, typeof(EnumDescriptionAttribute)) as EnumDescriptionAttribute;
if (attr != null)
return attr.Description;
}
}
return null;
}
public static BoolString GetEnumValue(string desc)
{
foreach (FieldInfo fi in typeof(BoolString).GetFields())
{
EnumDescriptionAttribute attr = Attribute.GetCustomAttribute(fi, typeof(EnumDescriptionAttribute)) as EnumDescriptionAttribute;
if (attr != null && attr.Description == desc)
return (BoolString)Enum.Parse(typeof(BoolString), fi.Name);
}
return 0;
}