枚举类型定义字符串
因为枚举类型不能够直接定义string类型的变量,所以在这里采取一个变通的方法
首先 定义一个枚举类型
enum enumDateName { [Description("收款金额")] CollectionDetails, [Description("代付关税")] PaidTariff, [Description("垫付费用")] AdvanceExtendFee, [Description("超期")] AdvanceExtendFees, [Description("到账利润")] AccountProfit }
定义一个方法取值 程序中用到的是Description中的内容,所以这里面写了一个方法来取到这个枚举类型中的Description中的内容
/// <summary> /// 读取枚举类型的描述信息 /// </summary> /// <param name="e"></param> /// <returns></returns> private string GetEnumDesc(enumDateName e) { FieldInfo EnumInfo = e.GetType().GetField(e.ToString()); DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[])EnumInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (EnumAttributes.Length > 0) { return EnumAttributes[0].Description; } return e.ToString(); }
这个方法传入的参数是一个类似于enumDateName.CollectionDetails这样的参数,返回值是他对应的描述信息,
最后方法的调用
if ( GetEnumDesc(enumDateName.CollectionDetails)=="收款金额")
{
//do something
}
OK 这样就可以把对应的字符串用枚举类型表示出来了