首页 > 代码库 > 特性Atrribute和枚举
特性Atrribute和枚举
特性的简单实用!
Program.cs
class Program { static void Main(string[] args) { Console.WriteLine(PersonOptions.PersonOne.ToString() + " : " + PersonOptions.PersonOne.GetDescription()); Console.WriteLine(PersonOptions.PersonTwo.ToString() + " : " + PersonOptions.PersonTwo.GetDescription()); Console.WriteLine(PersonOptions.PersonThree.ToString() + " : " + PersonOptions.PersonThree.GetDescription()); Console.ReadLine(); } }
PersonOptions.cs
public enum PersonOptions { [Description("张三")] PersonOne, [Description("李四")] PersonTwo, [Description("王五")] PersonThree }
DescriptionAttribute.cs
public class DescriptionAttribute : Attribute { public string Description { get; set; } public DescriptionAttribute(string description) { this.Description = description; } }
EnumHelper.cs 扩展方法和反射的使用来获得Description.
public static class EnumHelper { public static string GetDescription(this Enum option) { string description = ""; FieldInfo fieldInfo = option.GetType().GetField(option.ToString()); var enumOption = (DescriptionAttribute)fieldInfo.GetCustomAttribute(typeof(DescriptionAttribute)); if (enumOption != null) { description = enumOption.Description; } return description; } }
特性Atrribute和枚举
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。