动态创建类和方法(二)实现带简单条件判断的类方法

我们将对下面这个带简单条件判断的方法使用ILGeneral在运行期生成

简单的带if函数

1. 定义本地变量

定义整型变量i

2. 对变量赋值

使用LDC_I4_0将整数1压到栈上

将栈上的值pop,赋值给本地变量LOC_0 (i)

 

对变量赋值

3. 分支语句需要一个标签(Label)

 

定义标签

4. 判断 i > 0 的结果

将本地变量i的值压到栈上

将整数0压到栈上

判断i是否比0大,如果是,1将会被压到栈上,否则0被压到栈上

如果栈上是0,执行语句将被跳到标签

判断结果,选择分支

5. 分支语句

简单的赋值操作

实际执行的分支语句

6. 标签

没有进入分支语句的话将跳跃执行到这一步:

实际执行的分支语句

7. 返回

posted @ 2010-05-17 14:38  D_Arthas  阅读(177)  评论(0编辑  收藏  举报