获取枚举描述信息_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 获取枚举描述信息

获取枚举描述信息

 2013/8/18 19:28:38  过客路过  博客园  我要评论(0)
  • 摘要:staticclassProgram{enumOrientation{[DescriptionAttribute("东")]East,[DescriptionAttribute("南")]South,[DescriptionAttribute("西")]West,[DescriptionAttribute("北")]North}staticstringGetDescription<T>(thisTvalue){varmemInfo=value.GetType().GetMember
  • 标签:枚举
class="brush:csharp;gutter:true;">static class Program
    {
        enum Orientation
        {
            [DescriptionAttribute("东")]
            East,
            [DescriptionAttribute("南")]
            South,
            [DescriptionAttribute("西")]
            West,
            [DescriptionAttribute("北")]
            North
        }
        static string GetDescription<T>(this T value)
        {
            var memInfo = value.GetType().GetMember(value.ToString());
            var attributes = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false).Cast<DescriptionAttribute>();
            if (attributes.Any())
                return attributes.First().Description;
            return string.Empty;
        }
        static void Main()
        {
            foreach (var s in Enum.GetValues(typeof(Orientation)))
            {
                Console.WriteLine("值:{0}\t\t说明:{1}", s.ToString(), s.GetDescription());
            }

            Console.Read();
        }
    }

 

发表评论
用户名: 匿名