我正在从 C# 反射生成一个新的Type
通孔。TypeBuilder
我现在遇到的问题是如何构建方法体来调用静态字段上的方法。
现在我生成的(在运行时)类看起来像这样:
public class Generated
{
static private MyObject obj;
public MyResponse Hello(MyRequest req1)
{
return obj.Hello(req1); // this part need to be grnerated
}
}
所以现在我正在生成这样的方法:
MethodBuilder mb = tb.DefineMethod(
methodInfo.Name,
MethodAttributes.Public | MethodAttributes.Final,
CallingConventions.HasThis | CallingConventions.ExplicitThis,
methodInfo.ReturnType,
arguments);
ILGenerator il = mb.GetILGenerator();
il.Emit(OpCodes.Ldnull); // right now I'm just simply returning null
il.Emit(OpCodes.Ret);
所以请告诉我如何在 Il 生成器的堆栈上加载静态字段,然后在其上调用某些方法。