這個(gè)功能實(shí)現(xiàn)起來(lái)其實(shí)也很簡(jiǎn)單,就是通過(guò)反射去讀取 DescriptionAttribute 的 Description 屬性的值,代碼如下所示:
創(chuàng)新互聯(lián)建站于2013年開(kāi)始,先為雁塔等服務(wù)建站,雁塔等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為雁塔企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
/// summary
/// 返回枚舉項(xiàng)的描述信息。
/// /summary
/// param name="value"要獲取描述信息的枚舉項(xiàng)。/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(),因?yàn)榍罢吒欤覍?duì)于不是枚舉常數(shù)的值會(huì)返回 null,不用進(jìn)行額外的反射。
當(dāng)然,這段代碼僅是一個(gè)簡(jiǎn)單的示例,接下來(lái)會(huì)進(jìn)行更詳細(xì)的分析。
我找到了這樣一段處理方法,希望對(duì)你有所幫助:
枚舉類型如下:
Public Enum ConcertCode
BEIJING
SHANGHAI
GUANGZHOU
End Enum
如果要將比如“beijing”字符串轉(zhuǎn)換為ConcertCode.BEIJING的話,可以通過(guò)如下方法:
Dim c As ConcertCode = CType(Enum.Parse(Type.GetType(ConcertCode),字符串的變量,True), ConcertCode)
枚舉的值只能是整數(shù),但是枚舉常量的名字本身就是字符串啊,舉例:
Private Enum weekdays
星期日 = 0
星期一
星期二
星期三
End Enum
然后:
MsgBox(weekdays.星期日) '顯示0
MsgBox(weekdays.星期日.ToString) '顯示星期日
沒(méi)有辦法直接取枚舉名,只能根據(jù)枚舉值,自己賦值
Private Enum duihuaA As Integer
第一個(gè)
第二個(gè)
第三個(gè)
第四個(gè)
第五個(gè)
第六個(gè)
第七個(gè)
第八個(gè)
End Enum
調(diào)用:
Select case X
case duihuaA.第一個(gè)
Return "第一個(gè)"
case duihuaA.第二個(gè)
Return "第二個(gè)"
..............
SQL通常是通過(guò)外鍵。
創(chuàng)建一個(gè)狀態(tài)表包含一個(gè)狀態(tài)欄,存儲(chǔ)幾個(gè)固定的狀態(tài)。
然后添加到這個(gè)表的外鍵約束。
ALTER TABLE表名WITH CHECK ADD CONSTRAINT fk_status FOREIGN KEY([狀態(tài)])
[狀態(tài)]([狀態(tài)])
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.net枚舉變量 vb枚舉算法的程序結(jié)構(gòu)
分享URL:http://www.rwnh.cn/article36/doocisg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、網(wǎng)站改版、自適應(yīng)網(wǎng)站、ChatGPT、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容