摘要:
本文将主要通过“同步调用”、“异步调用”、“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊。首先,通过代码定义一个委托和下面三个示例将要调用的方法: publicdelegateintAddHandler(inta,intb);publicclass加法类{publicstaticintAdd(inta,intb){Console.WriteLine("开始计算:"+a+"+"+b);Thread.Sleep(3000);//模拟该方法运行三秒Console.WriteLine("计算完成!");return 阅读全文
摘要:
原文地址:http://www.cnblogs.com/zery/p/3366175.html一前言 感谢@冰麟轻武 指出文章的错误之处,现已更正 对于IL代码没了解之前总感觉很神奇,初一看完全不知所云,只听高手们说,了解IL代码你能更加清楚的知道你的代码是如何运行相互调用的,此言一出不明觉厉。然后开始接触IL,了解了一段时后才发现原来读懂IL代码并不难。进入正题 1.1 什么是IL IL是.NET框架中中间语言(Intermediate Language)的缩写。使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执行的机... 阅读全文
摘要:
名称说明Add将两个值相加并将结果推送到计算堆栈上。Add.Ovf将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上。Add.Ovf.Un将两个无符号整数值相加,执行溢出检查,并且将结果推送到计算堆栈上。And计算两个值的按位“与”并将结果推送到计算堆栈上。Arglist返回指向当前方法的参数列表的非托管指针。Beq如果两个值相等,则将控制转移到目标指令。Beq.S如果两个值相等,则将控制转移到目标指令(短格式)。Bge如果第一个值大于或等于第二个值,则将控制转移到目标指令。Bge.S如果第一个值大于或等于第二个值,则将控制转移到目标指令(短格式)。Bge.Un当比较无符号整数值或不可排 阅读全文