07 2007 档案
从Delegate.CreateDelegate看值类型的实例方法
摘要:前面一片随笔讲过用Delegate.CreateDelegate来提高多次反射效率的,使用代价较小的委托来代替反射的Invoke。 在Delegate.CreateDelegate方法对实例方法有一些默认的转换,例如:String.Trim()这个实例方法可以转换成下面两种委托: Code highlighting produced by Actipro CodeHighli...
阅读全文
直接调用、委托与反射调用的性能区别
摘要:今天做了这么一个试验: 将直接调用、委托与反射调用放在一起,测试了一下性能。同时也发现了一些认识上的误区。测试类如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public delegate void PlusOn...
阅读全文
用Delegate绕开频繁反射的又一个简单高效的方法
摘要:前几天,写了一个绕开频繁反射的几个方案,其中有的比较简单,有的比较复杂。 今天,无意中有发现了一个绝对简单的方案,适合不懂Emit的人群,而且简单到只需要一个泛型方法就可以了。 下面请出今天的主角:Delegate,相信大家应该都很熟悉这个类,所有的委托类都是继承自它。但是它的作用可不仅仅是一个基类而已哦。它还拥有众多的静态方法可供我们使用,这次用到的就是一个叫Cr...
阅读全文