這個(gè)功能實(shí)現(xiàn)起來其實(shí)也很簡(jiǎn)單,就是通過反射做巧去讀取 DescriptionAttribute 的 Description 屬性的值,代碼如下所示:
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、房山網(wǎng)站維護(hù)、網(wǎng)站推廣。
/// 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)單的示例,接下來會(huì)進(jìn)行更詳細(xì)的分析。
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
在程粗脊前序運(yùn)行的過程中始終固定不變的量稱為常量 由于在程序設(shè)計(jì)和開發(fā)時(shí)經(jīng)常會(huì)反復(fù)地運(yùn)用一些常數(shù) 而且它們代表的含義有時(shí)候非常難記 所以每次都需要去核對(duì) 如果定義了常量將使之簡(jiǎn)單化 則可提高代碼的可讀性及可維護(hù)性
注意 不可以任意地修改和賦予新的值
vB.NET中常量的來源有兩種 由用戶利用Const語句自定義 或者是系統(tǒng)預(yù)先定義的 可以通過菜單中 視圖 一 其他窗口 一 對(duì)象瀏覽器 命令或者是同時(shí)按Ctrl+Alt+J組合鍵就可以打開VB.NET 和VBA對(duì)象庫(kù)中的常數(shù)列表 這些常數(shù)可以與應(yīng)用程序的對(duì)象 方法和屬性一起使用 而且每一個(gè)ActiveX控件的對(duì)象庫(kù)也定義了單獨(dú)的常量
聲明常量的語法格式如下
[Public | Private | Friend l Protected | Pr tected Friend | Const常量名[As類型]=表達(dá)式
. 常量名 任何有效的符號(hào)名
. 表達(dá)式 由字符或數(shù)值常數(shù)以及運(yùn)算符組成 也可以是結(jié)果為數(shù)字或者是字符串的表達(dá)式 但是表達(dá)式中不能夠使用函數(shù)調(diào)用 注意 如果程序中打開了Option strict 則語句需要顯式聲明常量
. Const語句可以聲明表示數(shù)量 字符串 時(shí)間或者是日期的常量 例如
Const pi= .
Private Const sum as Inteqer=
中使用 枚舉類型作用域的聲明仍然使用Public Private Protected和巖清Friend 例如
Private Enum months
Public Enum months
Protected Enum months Friend Enum months
Protected Friend Enum months
在默認(rèn)狀態(tài)下 中國(guó)自學(xué)編程網(wǎng)整理發(fā)布 枚舉中第一野侍個(gè)常量便初始化為O 其后面的依次比以前的常量大 也可以通過賦值語句對(duì)常量進(jìn)行賦值 此值可以為任何值 包括負(fù)數(shù) 例如
Public Enum halfyear
January
February=O
Marth
April
May
June
Invalid=一
End Enum
lishixinzhi/Article/program/net/201311/12105