反射替代技术.docVIP

  • 1
  • 0
  • 约5.69千字
  • 约 8页
  • 2021-03-14 发布于广东
  • 举报
2013-03-31 17:25 by鹤冲天,2648阅读,18评论,收藏,编辑 园子里和这个话题的相关文章比较多,本文是旧话重提,外加个小的总结。主要因为近期看 到很多同事、朋友都已经使用VS2012进行.NET 4.5开发了,却还在大量使用反I寸,不 知道用新的方式。或有所了解,但又害怕性能不好不敢大胆去用。 本文以如下类为例: 1 public class MyMath 2 { 3 public int Add(int a, int b) 4 { 5 return a + b; 6 } 7 } 替代反射的几种方式 倒序说吧,从最先进最简单的开始。 1 dynamic 调用 ?NET 4弓|入了 dynamic类型,可以使用如下方式来完成对MyMath.Add方法的动态 调用: dynamic mmth = new MyMath(); | int result = math.Add(l? 2); 非常简单,效率也不错,可以看后面的性能对比测试结果。 但有一点要注意,dynamic遵守.NET的访问级别限定,会对成员迸行可见性检查。也 就是说,只能dynamic调用public成员;当然,如果是同一程序集内部,internal成 员也是可以访问的。 2. Expression Tree 编译调用 Expression Tree是.NET 3.5引入的。简单地,我们可以使用lam

文档评论(0)

1亿VIP精品文档

相关文档