I find myself doing this sort of thing quite often:-
EventHandler eh = null; //can\'t assign lambda directly since it uses eh eh = (s, args) => { //s
You probably want to work with the new async/await idioms. Usually when I need to execute an event handler one-shot like you described, what I really need is something like:
await variableOfSomeSort.SomeMethodAsync(); //small snippet of code here