0
我正在創建一個動態類型,它有一個我想返回對象的方法。我無法理解如何實現這一點。這是我到目前爲止有:使用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;
}