zoukankan      html  css  js  c++  java
  • 枚举类型定义字符串

    因为枚举类型不能够直接定义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 这样就可以把对应的字符串用枚举类型表示出来了

  • 相关阅读:
    异常机制和File类
    《JAVA程序设计》_第五周学习总结
    20165214 第五周学习任务
    20165214 第四周学习任务
    20165214 第三周学习任务
    20165214 预备作业3 Linux安装及学习
    20165313 预备作业3 Linux安装及学习
    学习基础和C语言基础调查
    20165313 我期望的师生关系
    int *ptr=(int *)(&a+1)
  • 原文地址:https://www.cnblogs.com/a164266729/p/3287579.html
Copyright © 2011-2022 走看看