网站建设  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

当前位置:首页>>编程开发>>VB编程>>正文
注:打开慢时请稍等

VB中运用反射原理优化程序代码

http://www.iyit.net  日期:2007-5-19 8:54:38  来源:  点击:
参加讨论】第一阶段战斗算是小试牛刀了一把,如果只算赋值过程代码减少百分数为37/45,接近83%。

你也可能抱怨我上面的百分数计算太不科学,要算也应该拿全部来算,那就不妙了,好吧,看来也只能拿十分“老的““成熟“的来开刀了,下面便是削减代码二期工程,我们的目标是让成熟变干练,太过成熟的确不合某些同志的胃口。对应于AB两文件的类clsA/B,分别至少有30和15个属性,还好,也不过就一二百行代码就搞定,更简单点就用自己写的代码生成器,一次性生成所有属性,并不会很麻烦。不过还是有更好(准确使更精简)的解决办法,用一个通用类,十分之一的代码(实际应用中会更少)就可以做到。

  这其实不过是一个继承了字典的子类,如下:

Public Class clsCommon
 Inherits System.Collections.DictionaryBase
 Public Sub AddField(ByVal FieldName As String, ByVal value As Object)
 Dictionary.Add(FieldName, value)
End Sub

Default Public Property Item(ByVal key As String) As Object
 Get
  Return Dictionary.Item(key)
 End Get
 Set(ByVal value As Object)
  Dictionary.Item(key) = value
 End Set
End Property
End Class

  这个通用类提供两个基本的方法,意义显而易见,而其对应的集合类基本还是原来那个样子:

Public Class clscolCommon
 Inherits System.Collections.CollectionBase
 Public Function GenerateAson() As clsCommon
End Function

Public Sub AddSon(ByVal objSon As clsCommon)
End Sub
Public Sub Sort()
End Sub
'默认Item属性以及更多Method从略
End Class

  不过这时候赋值过程也需要更改一下:

With xmlGetList(NodeName, strPath)
 For i As Integer = 0 To .Count - 1
  Dim st As Object = objFather.GenerateAson
  With DirectCast(.Item(i), XmlElement)
   For Each ch As XmlNode In .ChildNodes
    St.AddField(ch.Name,ch.InnerText)
   Next
  End With
  objFather.AddSon(st)
 Next
End With

  本文至此,削减代码工程算是小有成就,如果真要计算削减了多少,我想还是能够对得起这个标题的,而关于如何回写文件,必然也仍然是反射,肯定有更好的办法,在这里就不赘述了。

本新闻共2页,当前在第2页  1  2  


编辑: [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:漂亮的Slider效果类终于封装成功
下一篇:没有了
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
漂亮的Slider效果类终于封装成功 asp和javascript大小写字母转换函数 三种常见中文内码的转换方法!
用Visual Basic制作安装程序 探索VB系列中的事件处理的奥秘 VB.NET注册表编程
在VB中使用注册表 用VB函数轻松访问系统注册表 在VB中调用API操作注册表
VB4.0对注册表操作的命令 asp.net中的vb7中如何调用dll中的函数 asp.net中的vb7中如何使用socket作一个
在ASP.NET中处理 datetime 的一些通用函 在ASP.NET中操作文件的例子(VB) 在ASP.NET中处理datetime的一些通用函数
VB.NET多线程开发实例 多线程填写treeview控件(vb.net) vb.net的windows窗体实现dos命令
 一个用Wsh来控制SqlServer的Dcom的VBs 和我一起入门Direct3D的VB.net编程 VB.NET如何在没有.NET框架的机器上运行
LCS问题算法之VB.net版 VB.net 调用带参数存储过程 vb.net 中实现画图
最新更新 热点排行 推荐新闻
VB中运用反射原理优化程序代码
漂亮的Slider效果类终于封装成功
用Visual Basic制作安装程序
探索VB系列中的事件处理的奥秘
[JAVA]十四种Java开发工具点评
VB中运用反射原理优化程序代码
动态的管理ASP.NET DataGrid数据列
锋芒毕露v3.1QQ最新空间代码
v3.1最新QQ空间代码--李宇春系列
≮血色的记忆≯最新腾讯QQ空间3.1代码
〖连思念都变成了习惯】最新腾讯QQ空间
【滴血玫瑰】最新QQ空间3.1代码
最新3.1版本QQ空间代码--我不是你想要
最新3.1版本QQ空间代码--刘德华QQ空间
6月17日最新3.1版本QQ空间代码,最新的
VB中运用反射原理优化程序代码
在ASP与ASP.NET之间共享对话状态(2)
Photoshop十余种漂亮照片边框简单制作
Photoshop实例教程:打造超炫发光圈
照片处理:Photoshop人物照片换头术
Photoshop实例:调出漂亮MM的唯美效果
比熊猫烧香更可怕 光标漏洞病毒现网络
一天出5变种 ANI蠕虫制造者称要买宝马
婚纱照片抠图与背景处理合成技巧
最易损坏电脑的小动作
解决了带javascript语句的链接全都打不
VB中运用反射原理优化程序代码
漂亮的Slider效果类终于封装成功
直接编辑VB中网格控制项的两种方法
VB中运用反射原理优化程序代码
6月17日最新3.1版本QQ空间代码,最新的
电脑保护误区面面观
系统总蓝屏,原来内存不干净
cpu散热技巧方法和六大误区 
学习CSS布局心得
一天出5变种 ANI蠕虫制造者称要买宝马
微软惊现史上最大漏洞 600木马疯狂肆虐
比熊猫烧香更可怕 光标漏洞病毒现网络
实用的存储过程之一

设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2007 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息