首先多谢两位给我的提示,发现在上个版本中所存在的问题:
一、枚举类型的各个枚举值,应该属于“字段”。
二、在获得枚举自定义属性时,只获得枚举类型,而不没有获得所属字段的自定义属性。

完整工程下载

现在解决方案如下:

枚举定义:

[EnumDescription("订单、订单中的产品、产品项的状态。")]
  public enum OrderStateEnum
  { 
 
   [EnumDescription("未开始")]
   Ready = 0,
  
   [EnumDescription("进行中")]
   Processing,
  
   [EnumDescription("等待中")]
   Waiting,
  
   [EnumDescription("取消")]
   Canceled,
  
   [EnumDescription("完成")]
   Finished
  }


 
代码访问:
0、获得枚举类型的文字描述

string txt = EnumDescription.GetEnumText(typeof(OrderStateEnum));

 
1、获得某个枚举值的文字描述:  

string txt = EnumDescription.GetFieldText(OrderStateEnum.Processing)

 
2、获得枚举中各个字段的定义数组:

EnumDescription[] des = EnumDescription.GetFieldTexts(typeof(OrderStateEnum))
 如果需要排序,通过他的另一个重载   public static EnumDescription[] GetFieldTexts( Type enumType, SortType sortType )


3、绑定到下拉框:

comboBox1.DataSource = EnumDescription.GetFieldTexts(typeof(OrderStateEnum));
 comboBox1.ValueMember = "EnumValue";
 comboBox1.DisplayMember = "EnumDisplayText";
 comboBox1.SelectedValue = (int)OrderStateEnum.Finished;  //选中值