Widziałem kilka wzmianek o tym idiomie (w tym na SO ):
// Deliberately empty subscriber
public event EventHandler AskQuestion = delegate {};
Zaleta jest oczywista - pozwala uniknąć konieczności sprawdzania wartości null przed podniesieniem zdarzenia.
Chciałbym jednak zrozumieć, czy są jakieś wady. Na przykład, czy jest to coś, co jest w powszechnym użyciu i jest na tyle przezroczyste, że nie spowoduje bólu głowy związanego z konserwacją? Czy jest jakieś znaczące uderzenie w wydajność pustego połączenia abonenta zdarzenia?