根據類型擷取枚舉中的文字

來源:互聯網
上載者:User

標籤:

 比如資料庫裡存的是數字,從枚舉中擷取相應的文字描述

 

公用方法

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);

 

根據類型擷取枚舉中的文字

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.