Если вам действительно нужно иметь что-то подобное (всегда хороший вопрос, обычно такие вещи - это признак чего-то немного странного о дизайне, но не обязательно),
Я бы сказал, что вы должны посмотреть на The Reactive Extensions (Rx)....
Они обеспечивают легкость в работе и отстреливают ваши собственные «события» более или менее похожими на свойства или методы (и без типичной боли делегатов, добавления/подписки или частных ограничений и т. Д., В упрощенном виде).
... и это может выглядеть ...
someObjectInstance.MyEvent.Subscribe(d=>
{
// ... your lambda more or less
});
... и в классе есть если упрощена только один Subject<MyEventData> _myEvent;
и _myEvent.OnNext(data)
(идет внутри метода вы хотите подняться с) + собственности чтобы открыть это поле (IObservable<MyEventData> MyEvent {get{return _myEvent;}}
).
это то, что вы действительно хотите.
Вы можете установить их из NuGet и использовать в считанные минуты. Хотя есть кривая обучения для более сложных случаев.
Плюс вы получаете выгоду от объединения событий в будущем и многое другое.
(не «один из них», просто очень хорошая новая часть технологии)
извините, не совсем понятно, что вы пытаетесь достичь .. что архитектура вы пытаетесь построить? – Tigran