>
C#枚举的运用
2021-02-05 15:42
C#
  • 810
  • 527
  • 64
  • 51

枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。

枚举语法定义格式为:

enum 枚举名 {枚举元素1,枚举元素2,……};

首先我们来定义一个状态的枚举类型:

定义枚举

  public enum StatusTypeEnum
        {
            [Description("正常")]
            Spring = 1,
            [Description("关闭")]
            Summer = 2,
            [Description("不正常")]
            Autumn = 3,
            [Description("锁定")]
            Winter = 4
        }

在实际开发的很多项目中 都会经常遇到这个枚举类型:

使用枚举为了提供程序的可读性的,加快开始效率。

那么怎么来使用呢?

这个时候我们就需要自己写一个通用的帮助类 用来解析这个枚举类型:

帮助类的代码:

public static string GetEnumDesc<T>(int value)
        {
          var enumName = Enum.GetName(typeof(T), value);
            string result = string.Empty;
            if (enumName==null)
            {
                result = "值超出范围" + value;
            }else
            {
            System.Reflection.FieldInfo field = typeof(T).GetField(enumName);
            if (field != null)
            {
                object[] objs = field.GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);
                if (objs == null || objs.Length == 0)
                    result = enumName;
                else
                {
                    System.ComponentModel.DescriptionAttribute da = (System.ComponentModel.DescriptionAttribute)objs[0];
                    result = da.Description;
                }
            }
            else { result = "为找到"+enumName; }
            }
            return result;
        }

这个通用的帮助类就这样写好啦 。

怎么去使用这个帮助类呢?

直接调用这个帮助类就可以得到解析的描述哟。

GetEnumDesc<StatusTypeEnum>(1);

这样返回的值就是 :正常

这样的一个枚举就能完美使用啦。

只要把帮助类这个解析写成通用的 所有的项目以后都可以使用这个方法。

很方便快捷 大大的提高开发效率。很好用哟。

完整的源码已经上传到CYBLOG -资源中:https://cyimt.net/Download/Download?Down=051538157902

全部留言 ()
返回
顶部