天天看点

C# 给枚举类型增加一个备注特性一、引言二、定义特性三 、测试代码四、扩展

C# 给枚举类型增加一个备注特性一、引言二、定义特性三 、测试代码四、扩展
C# 给枚举类型增加一个备注特性一、引言二、定义特性三 、测试代码四、扩展
C# 给枚举类型增加一个备注特性一、引言二、定义特性三 、测试代码四、扩展
C# 给枚举类型增加一个备注特性一、引言二、定义特性三 、测试代码四、扩展

枚举为我看日常开发的可读性提供的非常好的支持,但是有时我们需要得到枚举值得描述信息或者是注释(备注)信息

比如要获得 TestEmun.aaa 属性值得备注 AAA,比较不方便得到。

    public enum TestEmun

    {

      /// AAA

      aaa =1,

      /// BBB

      bbb =2,

      /// CCC

      ccc =3

    }

如果要得到类似的效果,我们就需要修改一下代码了,使用反射很容易得到这个结果。

using System;

}

  public class UnitTest

  {

      [Remark("AAA")]

      aaa,

      [Remark("BBB")]

      bbb,

      [Remark("CCC")]

      ccc

    public void GetEnumName()

      //需要引用 Lib.DataModel.SysEnum 命名空间才可以使用 扩展方法

      string name = TestEmun.aaa.GetRemark();

      /*

       name 值为 AAA

       */

  }

//获取枚举的所有属性名称

var fields = typeof(MyEnum).GetFields(BindingFlags.Static | BindingFlags.Public);

foreach (var fi in fields)

    Console.WriteLine(fi.Name);

原文地址:http://blog.csdn.net/xxj_jing/article/details/8556780