在Mono.Cecil能做到,使用Ldarg_S
創建指令時,直接的方法:如何在Mono.Cecil中創建Ldarg_S指令?
Instruction.Create(OpCodes.Ldarg_S, 4);
不起作用,因爲Mono.Cecil expects操作數類型爲OperandType.InlineI
,而OpCodes.Ldarg_S
操作數的類型是ShortInlineArg
。相反,我需要使用Create (OpCode opcode, ParameterDefinition parameter) : Instruction
重載。
這需要初始化ParameterDefinition
,反過來,需要下列參數:
string name
ParameterAttributes attributes
TypeReference parameterType
什麼是那些東西?我如何指定我只需要第四個(或第五個或第六個)參數?