C#获取枚举描述文本
定义一个表示方向的枚举:
public enum Position { [Description("上")] Up, [Description("下")] Down, [Description("左")] Left, [Description("右")] Right }
获取枚举的描述:
public static string GetDescription<TEnum>(TEnum @enum) { FieldInfo fieldInfo = @enum.GetType().GetField(@enum.ToString()); DescriptionAttribute[] descriptionAttributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false); return descriptionAttributes.Length > 0 ? descriptionAttributes[0].Description : @enum.ToString(); }
使用示例:
Position position = Position.Left; var description = GetDescription(position); // description = "左";