オブジェクトを返すメソッドを持つ動的型を作成しています。私はこれを達成する方法を理解していません。ここでは、私がこれまで持っているものです。C#OpCodesを使用してオブジェクトを返すメソッドを生成する
// .. stuff to create type builder
MethodBuilder builder =
typeBuilder.DefineMethod(
method.Name,
MethodAttributes.Virtual | MethodAttributes.Public,
method.CallingConvention,
method.ReturnType,
typeArray1);
builder.InitLocals = true;
ILGenerator gen = builder.GetILGenerator();
Object myObjectIdLikeToReturn = someMethodCall();
//gen.??(??????????) // here's where I'm lost
gen.Emit(OpCodes.Ldloc_0);
gen.Emit(OpCodes.Ret);
私は正しいMSDNを読んでいた場合、私は、信じて、私は、スタック上myObjectIdLikeToReturnの参照を取得する必要があります - 私は運を持っていませんでしたが。誰かが私を正しい方向に向けることができますか?
編集:もっと明確にする。私はILに相当するものを書き込もうとしています:
public virtual Object MyNewMethod() {
return myObjectIdLikeToReturn;
}