问题
Here is the way I can put float value to the stack(in C#):
ILGenerator gen = method.GetILGenerator();
gen.Emit(OpCodes.Ldc_R4, (float)12.5);
How can I put boolean value to the stack by using Emit method?
回答1:
There is no representation of a boolean value on the evaluation stack. The bool, char, byte, ushort, uint, and their signed variants are all represented as a 4-byte signed integer (i4).
True:
ldc.i4.1
False:
ldc.i4.0
来源:https://stackoverflow.com/questions/1387010/ilgenerator-how-to-add-boolean-to-the-stack