最近有時(shí)間看點(diǎn)書了,把157個(gè)建議在重新看一遍,代碼都調(diào)試一遍。當(dāng)我看到第15個(gè)建議的時(shí)候有些出入,就記錄下來,歡迎大家來探討。

   第十五條建議是,使用dynamic簡化反射的使用,沒有說明具體的條件。dynamic的確可以簡化反射的使用,但是性能上并不是不分條件的。

   我按著書上的代碼,原封不動(dòng)的敲了一遍,如下

 

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

 1 class Program 2     { 3         static void Main(string[] args) 4         { 5             int times = 1; 6             DynamicSample dynamicSample = new DynamicSample(); 7             var addMethod = typeof(DynamicSample).GetMethod("Add"); 8  9             Stopwatch watch1 = Stopwatch.StartNew();10             int result = 0;11             for (int i = 0; i < times; i++)12             {13                 result = (int)addMethod.Invoke(dynamicSample, new object[] { 1, 2 });14             }15             Console.WriteLine(string.Format("正常的反射耗時(shí):{0}毫秒", watch1.ElapsedMilliseconds));16 17             Console.WriteLine("正常反射的結(jié)果:"+resu
        
		

網(wǎng)友評論