我想 IL 生成一个动态方法
delegate ArraySegment<byte> X(MyClass mc);
调用签名的方法mc
并返回其out
参数。
MethodInfo methInf = aClass.GetMethod("Y",
BindingFlags.Public | BindingFlags.Instance,
null, new[] { typeof(ArraySegment<byte>).MakeByRefType() }, null);
但我不知道如何处理 out 参数。这是我到目前为止的代码。
DynamicMethod dm = new DynamicMethod("X", typeof(ArraySegment<byte>),
new[] { typeof(MyClass) });
ILGenerator il = dm.GetILGenerator();
il.Emit(OpCodes.Ldarg_0);
il.EmitCall(OpCodes.Callvirt, methInf, null);
需要什么才能使输出参数起作用?