这篇文章给大家分享的是有关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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。