You tried something like this?
private EventHandler<EventArgs> onMyEvent;
public event EventHandler<EventArgs> MyEvent
{
add
{
Foo();
onMyEvent = (EventHandler<EventArgs>)Delegate.Combine(onMyEvent, value);
}
remove
{
Bar();
onMyEvent =(EventHandler<EventArgs>)Delegate.Remove(onMyEvent, value);
}
}