zoukankan      html  css  js  c++  java
  • 枚举类字典代码 草稿

    原文发布时间为:2011-03-09 —— 来源于本人的百度文章 [由搬家工具导入]

    EnumDescriptionAttribute.cs

    using System;


    /// <summary>
    /// Provides a description for an enumerated type.
    /// </summary>
    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
    public sealed class EnumDescriptionAttribute : Attribute
    {
        private readonly string description;

        /// <summary>
        /// Initializes a new instance of the class.
        /// </summary>
        /// <param name="description"></param>
        public EnumDescriptionAttribute(string description)
        {
            this.description = description;
        }

        public string Description
        {
            get { return description; }
        }
    }

    EnumHelper.cs

    using System;
    using System.Reflection;

    public static class EnumHelper
    {
        /// <summary>
        /// Gets the <see cref="DescriptionAttribute" /> of an <see cref="Enum" />
        /// type value.
        /// </summary>
        /// <param name="value">The <see cref="Enum" /> type value.</param>
        /// <returns>A string containing the text of the
        /// <see cref="DescriptionAttribute"/>.</returns>
        public static string GetDescription(Enum value)
        {
            if (value == null)
            {
                return "";
            }
            FieldInfo fieldInfo = value.GetType().GetField(value.ToString());
            EnumDescriptionAttribute[] attributes = null;
            if (fieldInfo != null)
            {
                attributes = (EnumDescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(EnumDescriptionAttribute), false);
            }
            if (attributes != null && attributes.Length > 0)
            {
                return attributes[0].Description;
            }
            return "";
        }
    }

    Program.cs

    using System;

    namespace TestEnum
    {
        internal class Program
        {
            private static void Main(string[] args)
            {
                Console.WriteLine("{0}", EnumHelper.GetDescription(SimpleEnum.Today));
                Console.WriteLine("{0}", EnumHelper.GetDescription((SimpleEnum)(2)));
                Console.ReadLine();
            }
        }

        public enum SimpleEnum
        {
            [EnumDescription("今天")]
            Today,
            [EnumDescription("明天")]
            Tomorrow,
            [EnumDescription("后天")]
            AfterTomorrow
        }
    }

  • 相关阅读:
    正则表达式语法
    flask 保存文件到 七牛云
    flask保存 文件到本地
    在文件保存中 os.getcwd() os.listdir() os.makedirs() os.mkdir() xx.join() ... 等函数 的使用介绍
    插件 DataTable 创建列表 render参数的详解与如何传递本行数据id
    日历插件bootstrap-datetimepicker的使用感悟
    Navicat for MySQL 安装和破解
    数据库迁移(创建关联等操作) Target database is not up to date报错
    dataTable之自定义按钮实现全表 复制 打印 导出 重载
    创建简单的表单Demo
  • 原文地址:https://www.cnblogs.com/handboy/p/7164002.html
Copyright © 2011-2022 走看看