標籤:
比如資料庫裡存的是數字,從枚舉中擷取相應的文字描述
公用方法
public static string GetEnumDesc<T>(T Enumtype)
{
if (Enumtype == null) throw new ArgumentNullException("Enumtype");
if (!Enumtype.GetType().IsEnum) throw new Exception("參數類型不正確");
return ((DescriptionAttribute)Enumtype.GetType().GetField(Enumtype.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), false)[0]).Description;
}
實體中定義
public Enum.AccountValidationType AuthType { get; set; }
public string ValidationTypeStr { get; set; }
枚舉類
/// <summary>
/// 驗證碼和連結類型
/// </summary>
public enum AccountValidationType
{
/// <summary>
/// 註冊認證(建立網路)
/// </summary>
[Description("註冊認證(建立網路)")]
Validation_A = 0,
/// <summary>
/// 強制認證(管理員要求強制認證)
/// </summary>
[Description("強制認證(管理員要求強制認證)")]
Validation_B = 1,
/// <summary>
/// 邀請認證(同網域名稱)
/// </summary>
[Description("邀請認證(同網域名稱)")]
Validation_C = 2
}
業務中寫
validation.DescribeTypeStr = MDManage.Framework.Common.GetEnumDesc<AccountDescribeType>(validation.AuthTypeDesc);
根據類型擷取枚舉中的文字