public Color col(string colorName)
成都創新互聯公司是一家以網站建設公司、網頁設計、品牌設計、軟件運維、營銷推廣、小程序App開發等移動開發為一體互聯網公司。已累計為會所設計等眾行業中小客戶提供優質的互聯網建站和軟件開發服務。
{
Type colorType = typeof(Color);
PropertyInfo info = colorType.GetProperty(colorName, BindingFlags.Public | BindingFlags.Static);
if (infos == null)
{
//throw Exception
}
return(Color)info.GetValue(null, null);
}
是這個意思么?輸入“Red”, 返回Color.Red 區分大小寫
Property用于標識一個類成員為屬性而不是方法.屬性可以被獲取,屬性在被獲以的時候利用get句柄返回其值.屬性可以被賦值,這個過程是由set句柄完成的.這兩個句柄可以不同時存在.如果只有get而沒有set,那屬性就是只讀的.如果只有set而沒有get,那屬性就是只寫的.
就是定義了兩個屬性:s_name和s_sex
Overridable 表示這個屬性可以被重載。
提供用來獲取應用程序信息(如版本號、說明、加載的程序集等)的屬性,可以刪掉。
Visual Basic .NET支持動態屬性,其動態屬性儲存在一個應用程序配置文件中,該文件在應用程序執行時將會被讀到。使用動態屬性可以在不重新編譯應用程序的情況下改變一些屬性值。你可以使用它們保存數據庫連接字符串、應用程序日志信息或者服務器連接信息。
要看動態屬性的例子,首先在Visual Basic中創建一個Windows應用程序。添加一個TextBox到默認窗體中;確認TextBox是被選中的,然后在屬性窗口中定位Dynamic屬性。
點擊Advanced標簽旁邊的省略號按鈕,打開一個對話框,該對話框中列出了TextBox所有的屬性,選擇Text屬性,鍵映射框將會被激活。鍵映射決定了鍵儲存在配置文件中的值。點擊確定關閉對話框。
如控件自身無法設置滾動條,那就在父容器控件中(如FORM)使用滾動條解決問題。另外,也可將日期控件放在彈出窗口中,
這個功能實現起來其實也很簡單,就是通過反射去讀取 DescriptionAttribute 的 Description 屬性的值,代碼如下所示:
/// summary
/// 返回枚舉項的描述信息。
/// /summary
/// param name="value"要獲取描述信息的枚舉項。/param
/// returns枚舉想的描述信息。/returns
public static string GetDescription(Enum value)
{
Type enumType = value.GetType();
// 獲取枚舉常數名稱。
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;
}
這段代碼還是很容易看懂的,這里取得枚舉常數的名稱使用的是 Enum.GetName() 而不是 ToString(),因為前者更快,而且對于不是枚舉常數的值會返回 null,不用進行額外的反射。
當然,這段代碼僅是一個簡單的示例,接下來會進行更詳細的分析。
分享文章:vb.net反射屬性,vb中的屬性
本文地址:http://vcdvsql.cn/article26/hecccg.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、網站收錄、建站公司、網站改版、做網站、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯