随笔 - 13  文章 - 0 评论 - 93 trackbacks - 0
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

与我联系

搜索

 

常用链接

留言簿

随笔分类

随笔档案

最新评论

阅读排行榜

评论排行榜

反射的性能:

使用反射来调用类型或者触发方法,或者访问一个字段或者属性时clr 需 要做更多的工作:校验参数,检查权限等等,所以速度是非常慢的。所以尽量不要使用反射进行编程,对于打算编写一个动态构造类型(晚绑定)的应用程序,可以采取以下的几种方式进行代替:
1. 通过类的继承关系。让该类型从一个编译时可知的基础类型派生出来,在运行时生成该类 型的一个实例,将对其的引用放到其基础类型的一个变量中,然后调用该基础类型的虚方法。
2. 通过接口实现。在运行时,构建该类型的一个实例,将对其的引用放到其接口类型的一个变量中,然后调用该接口定义的虚方法。
3.通过委托实现。让该类型实现一个方法,其名称和原型都与一个在编译时就已知的委托相符。在运行时先构造该类型的实例,然后在用该方法的对象及名称构造出该委托的实例,接着通过委托调用你想要的方法。这个方法相对与前面两个方法所作的工作要多一些,效率更低一些 

http://blog.csdn.net/21aspnet/archive/2007/03/24/1539865.aspx

Code
posted on 2008-08-07 15:56 hbfly 阅读(466) 评论(3)  编辑 收藏 网摘

FeedBack:
#1楼 2008-08-07 16:08 JesseZhao      
今天下午我在公司试验了一下,反射和普通的250倍的平均速度差,放弃了在win mobile上面使用反射,不过可以用反射做个专门的代码生成器,为了省事啦
  回复  引用  查看    
#2楼 2008-08-07 16:28 坏人      
250倍认同,但是那部分的消耗占总消耗通常是多大呢?如果基数太小,250倍也并不可怕。
  回复  引用  查看    
#3楼 2008-08-07 21:42 陈晨      
委托 是一种实现松耦合比较巧妙的方法

  回复  引用  查看    
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1263042




相关文章:

相关链接: