自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

描述VB.NET反射功能

開發(fā) 后端
這里介紹我將利用VB.NET反射功能,構建一個自動完成初始化文件的保存/讀寫功能的類。在這個類中,只要程序作者在類內部按程序選項的名稱定義好類的內部成員變量。

VB.NET還是比較常用的,于是我研究了一下VB.NET反射功能,在這里拿出來和大家分享一下,希望對大家有用。我將利用VB.NET反射功能,構建一個自動完成初始化文件的保存/讀寫功能的類。在這個類中,只要程序作者在類內部按程序選項的名稱定義好類的內部成員變量(由于這個步驟仍然需要程序員進行類內的手工編碼,所以稱這個類為半自動初始化類),這個類就自動將程序選項從初始化文件中保存/讀取的工作,程序員不必再進行繁瑣的讀寫文件部分的編碼。而且,這個類的構建還可以有一個好處:由于應用程序的選項都以成員變量的形式保存在類的內部,程序員可以利用 VS提供的自動列出變量成員的功能查詢初始化文件的選項。例如這樣寫 string myAPPname= tobjAPPOption.General.APPName。據我所知,記住大量的程序選項的確切字符也不是什么好玩的事哦8-)

VB.NET反射功能

初始化文件內容的需求。我們首先分析觀察一個標準的windows初始化文件win.ini內容:

  1. [windows]  
  2. load=  
  3. run=  
  4. NullPort=None 
  5. device=HP LaserJet 6L PCL,PCL5EMS3,\\E***18B631240425\HPLaserJ  
  6. [Desktop]  
  7. Wallpaper=(無)  
  8. TileWallpaper=1 
  9. WallpaperStyle=0 

該初始化文件的內容用方括號括住的部分我們稱為初始化文件的節(jié),每一節(jié)下都組織了一系列與節(jié)有相應功能的程序選項。如desktop節(jié)下就含有桌面墻紙(Wallpaper)/桌面墻紙鋪設(WallpaperStyle)的設置。在初始化文件中程序的選項大都可以用字符串/數字這些簡單的數據類型進行保存。

根據這一需求,考慮到目前在VB.NET中使用xml文件非常方便,而且使用xml格式除可實現常規(guī)windows初始化文件的功能外,還可以多出樹形結構組織的優(yōu)勢,所以本文設計的初始化文件確定采用xml文件格式。并作以下格式的XML文件的元素定義:

  1. 'Net對象以XML元素保存使用的格式定義  
  2. 'Net對象的定義  
  3. '<Class ObjectName=對象名稱 ObjectType(數據類型)=數據類型 > 數據內容 </數據類型> 
  4.  
  5. '數組的定義 目前本類中實現的數組只支持string的一維數組  
  6. '<Array ObjectName=對象名稱 ObjectType=數據類型 Length=數組大小> 元素定義</Array> 
  7. '如果數組數組為nothing則格式如下  
  8. '<Array ObjectName=對象名稱 ObjectType=數據類型 Length=0>nothing</Array> 
  9.  
  10. '簡單對象的定義'int32、String等  
  11. '<SimpleObject ObjectName=對象名稱 ObjectType(數據類型)=數據類型 > 數據內容 </數據類型> 
  12. '當SimpleObject代表數組內的元素時,objectname代表數組的維數  
  13.  
  14. 'ObjectName 、ObjectType、 Lenght 屬性的使用舉例如下  
  15. '例如Redim mai32Test(7) As String  
  16. 'ObjectName取值為mai32Test,ObjectType取值為string[],Length 值為8 

在VB.NET反射功能中,可以枚舉特定類型對象所包含的成員變量的類型及儲存值,這個功能經常被一些普通程序員忽略,認為用途并不大。但在本文中,這一功能將成為構建半自動化初始化對象的核心,我們正需要這種功能將寫在初始化類中的變量類型和值自動向初始化文件保存或讀取。

【編輯推薦】

  1. 描述VB.NET EIF體系
  2. 簡單講述VB.NET多重繼承
  3. 淺談VB.NET語言與.NET開發(fā)語言關系
  4. 講解VB.NET語言學習經驗
  5. 淺析VB.NET語言到底帶來了什么
責任編輯:佚名 來源: 網界網
相關推薦

2009-10-20 14:21:55

VB.NET fnSi

2009-10-27 12:06:01

VB.NET IDis

2009-10-19 14:22:13

VB.NET EIF體

2009-10-13 09:33:49

VB.NET Web

2009-10-30 11:20:54

VB.NET Proc

2009-10-15 09:02:19

VB.NET申明數組

2009-10-14 13:56:05

VB.NET數據窗體

2009-10-28 10:09:07

VB.NET Dire

2009-10-12 12:54:58

VB.NET聲明API

2009-10-15 15:04:42

VB.NET PadL

2009-10-13 17:16:40

VB.NET Web服

2009-10-14 09:15:15

2010-01-13 09:45:53

VB.NET Arra

2009-10-10 16:15:49

VB.NET開發(fā)多線程

2009-10-14 15:44:04

VB.NET字節(jié)數組

2009-10-26 10:08:44

VB.NET工程轉換成

2010-01-12 10:48:54

VB.NET LIST

2009-11-02 14:48:45

VB.NET HOOK

2009-10-26 09:50:20

VB.NET Star

2009-11-03 11:06:40

VB.NET事件
點贊
收藏

51CTO技術棧公眾號