C#枚举操作

版权声明:本文为博主原创文章,未经博主允许不得转载。转载请在文章结尾显眼处附带博主文章地址。 https://blog.csdn.net/qq_27559331/article/details/80924158

C#中的枚举基本操作

 /// <summary>
/// 订单审核状态
/// </summary>
public enum GetState
{
    [Description("审核中")]
    inReview = 1,            
    [Description("审核通过")]
    approve = 2,
    [Description("退回")]
    return = 0,
}
/// <summary>
/// 枚举字段描述列表
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public static IList<string> GetEnumDescriptionList(Type t)
{
    var valueDescList = Enum.GetValues(t).Cast<Enum>().Select(m => GetEnumDescription(m)).ToList();
    return valueDescList;
}
/// <summary>
/// 枚举下拉列表
/// </summary>
/// <param name="t"></param>
/// <returns></returns>
public static IList<SelectListItem> GetEnumList(Type t)
{
    var enumList = Enum.GetValues(t).Cast<Enum>()
    .Select(m =>
    {
        return new SelectListItem()
        {
            Text = GetEnumDescription(m),
            Value = Enum.GetName(t, m)
        };
    }).ToList();
    return enumList;
}
/// <summary>
/// 获取枚举的描述信息(Description特性)
/// </summary>
/// <param name="enumValue">枚举值</param>
/// <returns></returns>
public static string GetEnumDescription(Enum enumValue)
{
    Type type = enumValue.GetType();
    FieldInfo fi = type.GetField(enumValue.ToString());
    object[] attrs = fi.GetCustomAttributes(typeof(DescriptionAttribute), true);
    if (attrs.Length > 0)
        return ((DescriptionAttribute)attrs[0]).Description;
    return "";
}
int 类型转对应的枚举值
(EnumType)model.SaleState

int 类型获取枚举的描述信息
GetEnumDescription((EnumType)model.SaleState)

你有困难我帮忙,我住隔壁我姓王。----------------- 你隔壁的老王宣。

猜你喜欢

转载自blog.csdn.net/qq_27559331/article/details/80924158