Vb點虐 枚舉性質(zhì) 枚舉類型怎么調(diào)用

VB.NET的枚舉求教解決方法

這個功能實現(xiàn)起來其實也很簡單,就是通過反射去讀取 DescriptionAttribute 的 Description 屬性的值,代碼如下所示:

創(chuàng)新互聯(lián)專注于亳州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供亳州營銷型網(wǎng)站建設(shè),亳州網(wǎng)站制作、亳州網(wǎng)頁設(shè)計、亳州網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造亳州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供亳州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

/// summary

/// 返回枚舉項的描述信息。

/// /summary

/// param name="value"要獲取描述信息的枚舉項。/param

/// returns枚舉想的描述信息。/returns

public static string GetDescription(Enum value)

{

Type enumType = value.GetType();

// 獲取枚舉常數(shù)名稱。

string name = Enum.GetName(enumType, value);

if (name != null)

{

// 獲取枚舉字段。

FieldInfo fieldInfo = enumType.GetField(name);

if (fieldInfo != null)

{

// 獲取描述的屬性。

DescriptionAttribute attr = Attribute.GetCustomAttribute(fieldInfo,

typeof(DescriptionAttribute), false) as DescriptionAttribute;

if (attr != null)

{

return attr.Description;

}

}

}

return null;

}

這段代碼還是很容易看懂的,這里取得枚舉常數(shù)的名稱使用的是 Enum.GetName() 而不是 ToString(),因為前者更快,而且對于不是枚舉常數(shù)的值會返回 null,不用進行額外的反射。

當然,這段代碼僅是一個簡單的示例,接下來會進行更詳細的分析。

VB點虐 如何枚舉字符串?

Enum Week

周日 = 0

周一 = 1

周二 = 2

周三 = 3

周四 = 4

周五 = 5

周六 = 6

End Enum

Sub Main()

Dim myType As Type = GetType(Week)

MsgBox(Week.GetName(myType, Week.周二))

End Sub

vb點虐 里如何把字符串轉(zhuǎn)換為枚舉類型?

我找到了這樣一段處理方法,希望對你有所幫助:

枚舉類型如下:

Public Enum ConcertCode

BEIJING

SHANGHAI

GUANGZHOU

End Enum

如果要將比如“beijing”字符串轉(zhuǎn)換為ConcertCode.BEIJING的話,可以通過如下方法:

Dim c As ConcertCode = CType(Enum.Parse(Type.GetType(ConcertCode),字符串的變量,True), ConcertCode)

網(wǎng)頁標題:Vb點虐 枚舉性質(zhì) 枚舉類型怎么調(diào)用
文章轉(zhuǎn)載:http://bm7419.com/article12/ddejsgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站設(shè)計、企業(yè)網(wǎng)站制作、網(wǎng)站排名、標簽優(yōu)化響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站