本文共 3377 字,大约阅读时间需要 11 分钟。
IL代码 | 对应 C#代码 | 执行后栈的状态 |
IL_0000: nop | | |
IL_0001: newobj instance void TestClass2::.ctor() | TestClass2 t = new TestClass2(); | <testClass2> |
IL_0006: stloc.0 | | |
.try | try | |
{ | { | |
IL_0007: nop | | |
IL_0008: ldloc.0 | | <TestClass2> |
IL_0009: stloc.1 | | |
IL_000a: leave.s IL_001d | | |
} // end .try | | |
finally | | |
{ | | |
IL_000c: nop | | |
IL_000d: ldloc.0 | | <TestClass2> |
IL_000e: dup | | <TestClass2>,<TestClass2> |
IL_000f: ldfld int32 TestClass2::'value' | | 1,<TestClass2> |
IL_0014: ldc.i4.1 | | 1,1,<TestClass2> |
IL_0015: add | t.value++; | 2,<TestClass2> |
IL_0016: stfld int32 TestClass2::'value' | | |
IL_001b: nop | | |
IL_001c: endfinally | | |
} // end handler | | |
IL_001d: nop | | |
IL_001e: ldloc.1 | | <TestClass2> |
IL_001f: ret | return t; | <TestClass2> |
转载地址:http://hcopi.baihongyu.com/