|
@@ -86,6 +86,61 @@ namespace ServiceCenter.Extensions
|
|
|
return value.Replace("G", "").ToShort();
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 扩展方法,获得枚举的Description
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="value">枚举值</param>
|
|
|
+ /// <param name="nameInstead">当枚举值没有定义DescriptionAttribute,是否使用枚举名代替,默认是使用</param>
|
|
|
+ /// <returns>枚举的Description</returns>
|
|
|
+ public static string GetDescription(this Enum value, Boolean nameInstead = true)
|
|
|
+ {
|
|
|
+ Type type = value.GetType();
|
|
|
+ string name = Enum.GetName(type, value);
|
|
|
+ if (name == null)
|
|
|
+ {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ FieldInfo field = type.GetField(name);
|
|
|
+ DescriptionAttribute attribute = System.Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
|
|
|
+
|
|
|
+ if (attribute == null && nameInstead == true)
|
|
|
+ {
|
|
|
+ return name;
|
|
|
+ }
|
|
|
+ return attribute?.Description;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 获取属性的描述信息
|
|
|
+ /// </summary>
|
|
|
+ public static string GetDescription(this Type type, string proName)
|
|
|
+ {
|
|
|
+ PropertyInfo pro = type.GetProperty(proName);
|
|
|
+ string des = proName;
|
|
|
+ if (pro != null)
|
|
|
+ {
|
|
|
+ des = pro.GetDescription();
|
|
|
+ }
|
|
|
+ return des;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 获取属性的描述信息
|
|
|
+ /// </summary>
|
|
|
+ public static string GetDescription(this MemberInfo info)
|
|
|
+ {
|
|
|
+ var attrs = (DescriptionAttribute[])info.GetCustomAttributes(typeof(DescriptionAttribute), false);
|
|
|
+ string des = info.Name;
|
|
|
+ foreach (DescriptionAttribute attr in attrs)
|
|
|
+ {
|
|
|
+ des = attr.Description;
|
|
|
+ }
|
|
|
+ return des;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 数据映射
|
|
|
/// </summary>
|