Referência 'this' no manipulador de eventos dinâmicos

Na minha classe 'myClass', estou usando o Reflection.Emit para gravar dinamicamente um manipulador de eventos para um dos membros da classe myClass.

Eu fiz isso com sucesso.

Agora, quero modificar o manipulador de eventos para chamar um dos métodos da instância na classe myClass.

No entanto, não consigo descobrir como inserir uma referência a 'this' na pilha MSIL usando o Reflection.Emit. No manipulador de eventos, Ldarg_0 não é uma referência a 'this', mas sim o primeiro parâmetro do manipulador de eventos.

Alguém sabe como empurrar uma referência para 'this' na pilha para que eu possa chamar um método de instância. Por exemplo, isso é o que eu gostaria que o código c # se parecesse:

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
}
}

Obrigado!

questionAnswers(2)

yourAnswerToTheQuestion