zoukankan      html  css  js  c++  java
  • 枚举处理

    //=======================================================================================
    /****************************************************************************************
    *
    * 文件说明:
    * 作者:
    * 创始时间:2017/11/9 17:23:01
    * 创建说明:
    *****************************************************************************************/
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace Manjinba.Communication.Common.Utils
    {
    public static class EnumUtil
    {
    private static Dictionary<string, Dictionary<string, string>> enumCache;

    private static Dictionary<string, Dictionary<string, string>> EnumCache
    {
    get
    {
    if (enumCache == null)
    {
    enumCache = new Dictionary<string, Dictionary<string, string>>();
    }
    return enumCache;
    }
    set { enumCache = value; }
    }

    public static string GetEnumText(this Enum en)
    {
    string enString = string.Empty;
    if (null == en) return enString;
    var type = en.GetType();
    enString = en.ToString();
    if (!EnumCache.ContainsKey(type.FullName))
    {
    var fields = type.GetFields();
    Dictionary<string, string> temp = new Dictionary<string, string>();
    foreach (var item in fields)
    {
    var attrs = item.GetCustomAttributes(typeof(DescriptionAttribute), false);
    if (attrs.Length == 1)
    {
    string v = ((DescriptionAttribute)attrs[0]).Description;
    temp.Add(item.Name, v);
    }
    }
    EnumCache.Add(type.FullName, temp);
    }
    if (EnumCache.ContainsKey(type.FullName))
    {
    if (EnumCache[type.FullName].ContainsKey(enString))
    {
    return EnumCache[type.FullName][enString];
    }
    }
    return enString;
    }
    }
    }

  • 相关阅读:
    python模块总结(一)命令行解析模块argparse
    TCP(一)三次握手和四次挥手
    容器网络(四)vxlan
    容器网络(三)容器间通信
    kvm虚拟化(二)网络虚拟化
    KVM虚拟化(一)创建虚拟机
    数字操作 —— 9_ 回文数
    数字操作 —— 8_字符串转换整数(atoi)
    数字操作 —— 7_整数反转
    字符串操作 —— 763_划分字母区间
  • 原文地址:https://www.cnblogs.com/Nine4Cool/p/10540655.html
Copyright © 2011-2022 走看看