Я хочу добавить новый метод через Mono.Cecil, который имеет выходной параметр, например:
private static bool XXXXX(out Int32 a)
Я пробовал следующие коды, чтобы добавить этот параметр
TypeReference typeInt32 = targetAssembly.MainModule.TypeSystem.Int32.Resolve();
typeInt32 = targetAssembly.MainModule.Import(typeInt32);
method.Parameters.Add(new ParameterDefinition(typeInt32) { Name = "a", IsOut = true });
И я сравниваю коды IL между тем, который я добавил, и тем, который генерирует компилятор. они разные.
Моя добавлена Сесилом:
.method private hidebysig static bool XXXXX([out] int32 a) cil managed
Компилятор генерирует:
.method private hidebysig static bool XXXXX([out] int32& a) cil managed
Пожалуйста, кто-нибудь знает, как сделать мой добавленный метод Cecil таким же, как генерирует компилятор?