Даже если бы дженерики были реализованы вокруг этого, у вас все равно была бы та же проблема. Внутри вашего MailManager
объекта вы бы назвали this.EventName<MailManager>(this, args)
, и поэтому он будет соответствовать только людям, подписавшимся на это типизированное событие.
Конечно, они могли бы переработать весь способ, которым CLR ищет методы и события, чтобы он был очень свободным. Тогда у нас был бы Javascript # вместо C #, хотя: p