1.定义标签和获取标签值的方法
namespace Comm
{
public static class EnumHelper
{
///
/// 得到枚举的DescriptionAttribute值。
///
///
///
///
static public string GetEnumDescription(object value)
{
Type enumType = typeof(TEnum);
if (!enumType.IsEnum)
throw new ArgumentException("不是枚举类型");
var name = Enum.GetName(enumType, value);
if (name == null)
return string.Empty;
object[] objs = enumType.GetField(name).GetCustomAttributes(typeof(DescriptionAttribute), false);
if (objs == null || objs.Length == 0)
return string.Empty;
DescriptionAttribute attr = objs[0] as DescriptionAttribute;
return attr.Description;
}
}
public class DescriptionAttribute : Attribute
{
private string _description;
public DescriptionAttribute(string desc)
{
_description = desc;
}
public string Description
{
get
{
return _description;
}
}
}
}
2.使用标签和获取标签值的方法
public enum State
{
[Description("是")]
Yes = 1,
[Description("否")]
No = 2
}
string str = EnumHelper.GetEnumDescription(State.Yes);