Odwołaj się do „this” w dynamicznej obsłudze zdarzeń

W mojej klasie „myClass” używam Reflection.Emituj, aby dynamicznie zapisywać moduł obsługi zdarzeń dla jednego z członków klasy myClass.

Zrobiłem to z powodzeniem.

Teraz chcę zmodyfikować moduł obsługi zdarzeń, aby wywołać jedną z metod instancji w klasie myClass.

Nie mogę jednak wymyślić, jak wypchnąć odwołanie do „this” na stos MSIL przy użyciu Reflection.Emit. W procedurze obsługi zdarzeń Ldarg_0 nie jest odniesieniem do „this”, lecz raczej pierwszym parametrem procedury obsługi zdarzeń.

Czy ktoś wie, jak wypchnąć odwołanie do „this” na stosie, aby móc wywołać metodę instancji. Na przykład chciałbym, aby kod c # wyglądał tak:

public class myClass
{
private myObj1 obj1;
public myClass() {
   this.init();
}

private void init()
{
   obj1.myEvent += new myEvent_EventHandler(theHandler);
}

private void theHandler(myObj2 obj2, myObj3 obj3)
{
   // this is the part I'm having trouble with
   this.myFunction(obj2);
}

private void myFunction(myObj2 obj2)
{
   // irrelevant
}
}

Dzięki!