• (转)获取枚举属性的值


    转自http://blog.sina.com.cn/s/blog_7e1662b20100x2mt.html

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    using System.ComponentModel;
    namespace PD.Models
    {
        public enum Role : int
        {
            /// <summary>
            /// 管理员
            /// </summary>
            [EnumName("管理员")]
            Admin = 0,
    
            /// <summary>
            /// 普通用户
            /// </summary>
            [EnumName("用户")]
            User = 10,
    
            /// <summary>
            /// 监控
            /// </summary>
            [EnumName("监控")]
            Monitor = 20,
        }
    
        /// <summary>
        /// 枚举显示属性,自定义特性
        /// </summary>
        public class EnumNameAttribute : Attribute
        {
            public string Name
            {
                get;
                private set;
            }
            public EnumNameAttribute(string name)
            {
                this.Name = name;
            }
        }
    
        public static class Extensions
        {
            public static string GetName(this ICustomAttributeProvider provider)
            {
                var attributes = (EnumNameAttribute[])provider.GetCustomAttributes(
                    typeof(EnumNameAttribute), false);
                return attributes.First().Name;
            }     
    
            /// <summary>
            /// 枚举扩展方法  调用此方法获取枚举属性值(即:管理员,用户,监控)
            /// </summary>
            /// <param name="value"></param>
            /// <returns></returns>
            public static string ToChinese(this Enum value)
            {
                return value.GetType().GetField(value.ToString()).GetName();
            }
    
          
    
           
        }
    }
    

      

  • 相关阅读:
    android从资源文件中读取文件流显示
    Android利用Bundle实现Activity间消息的传递
    MyEclipse 9本地安装插件的方法
    XXE漏洞利用详解
    批处理编写
    初见提权
    个人对ip的理解
    业务逻辑漏洞利用
    NTFS安全权限
    Windows系统管理
  • 原文地址:https://www.cnblogs.com/yuxiuting/p/2814247.html
Copyright © 2020-2023  润新知