Одно простое решение:
просто передает переменную eventhandle как параметр для себя. Событие, если у вас есть случай, когда вы не можете получить доступ к исходной созданной переменной из-за многопоточности, вы можете использовать это:
MyEventHandler foo = null;
foo = (s, ev, mehi) => MyMethod(s, ev, foo);
MyEvent += foo;
void MyMethod(object s, MyEventArgs ev, MyEventHandler myEventHandlerInstance)
{
MyEvent -= myEventHandlerInstance;
Console.WriteLine("I did it!");
}