您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關VB.NET如何實現反射功能的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
我將利用VB.NET反射功能,構建一個自動完成初始化文件的保存/讀寫功能的類。在這個類中,只要程序作者在類內部按程序選項的名稱定義好類的內部成員變量(由于這個步驟仍然需要程序員進行類內的手工編碼,所以稱這個類為半自動初始化類),這個類就自動將程序選項從初始化文件中保存/讀取的工作,程序員不必再進行繁瑣的讀寫文件部分的編碼。而且,這個類的構建還可以有一個好處:由于應用程序的選項都以成員變量的形式保存在類的內部,程序員可以利用 VS提供的自動列出變量成員的功能查詢初始化文件的選項。例如這樣寫 string myAPPname= tobjAPPOption.General.APPName。據我所知,記住大量的程序選項的確切字符也不是什么好玩的事哦8-)
VB.NET反射功能
初始化文件內容的需求。我們首先分析觀察一個標準的windows初始化文件win.ini內容:
[windows] load= run= NullPort=None device=HP LaserJet 6L PCL,PCL5EMS3,\\E***18B631240425\HPLaserJ [Desktop] Wallpaper=(無) TileWallpaper=1 WallpaperStyle=0
該初始化文件的內容用方括號括住的部分我們稱為初始化文件的節,每一節下都組織了一系列與節有相應功能的程序選項。如desktop節下就含有桌面墻紙(Wallpaper)/桌面墻紙鋪設(WallpaperStyle)的設置。在初始化文件中程序的選項大都可以用字符串/數字這些簡單的數據類型進行保存。
根據這一需求,考慮到目前在VB.NET中使用xml文件非常方便,而且使用xml格式除可實現常規windows初始化文件的功能外,還可以多出樹形結構組織的優勢,所以本文設計的初始化文件確定采用xml文件格式。并作以下格式的XML文件的元素定義:
'Net對象以XML元素保存使用的格式定義 'Net對象的定義 '<Class ObjectName=對象名稱 ObjectType(數據類型)=數據類型 > 數據內容 </數據類型> '數組的定義 目前本類中實現的數組只支持string的一維數組 '<Array ObjectName=對象名稱 ObjectType=數據類型 Length=數組大小> 元素定義</Array> '如果數組數組為nothing則格式如下 '<Array ObjectName=對象名稱 ObjectType=數據類型 Length=0>nothing</Array> '簡單對象的定義'int32、String等 '<SimpleObject ObjectName=對象名稱 ObjectType(數據類型)=數據類型 > 數據內容 </數據類型> '當SimpleObject代表數組內的元素時,objectname代表數組的維數 'ObjectName 、ObjectType、 Lenght 屬性的使用舉例如下 '例如Redim mai32Test(7) As String 'ObjectName取值為mai32Test,ObjectType取值為string[],Length 值為8
在VB.NET反射功能中,可以枚舉特定類型對象所包含的成員變量的類型及儲存值,這個功能經常被一些普通程序員忽略,認為用途并不大。但在本文中,這一功能將成為構建半自動化初始化對象的核心,我們正需要這種功能將寫在初始化類中的變量類型和值自動向初始化文件保存或讀取。
感謝各位的閱讀!關于“VB.NET如何實現反射功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。