Почему реализация событий в C # по умолчанию не использует слабый шаблон событий?

Этот вопрос может привести к спекулятивным ответам, но я предполагаю, что за реализацией @ стоит продуманное дизайнерское решениevent в C #.

Шаблон событий в C # сохраняет подписчика живым, пока жив издатель события. Таким образом, если вы не отмените подписку, у вас будет утечка памяти (ну, на самом деле, не утечка - но память остается излишне занятой).

Если я хочу предотвратить это, я могу отписаться от событий или реализовать слабый шаблон событий как предложено на MSDN.

Поскольку шаблон событий вызывает много проблем (для начинающих?), Возникает вопрос: почему было принято решение о том, что издатель сохраняет строгую ссылку на подписчика, а не делает их независимыми или позволяет разработчикам явно иметьstrong илиweak модификатор?

Уже есть паравопросо здесь об этой теме и ответы звучат разумно, но никто не отвечает, почему это так.

Ответы на вопрос(1)

Ваш ответ на вопрос