У меня есть некоторые события в моем базовом классе, к которым я хочу применить следующий шаблон в IDisposable или в Finalizer.
var onCategorizedMessage = this.OnCategorizedMessage.GetInvocationList().ToList();
foreach (var item in onCategorizedMessage)
this.OnCategorizedMessage -= item;
Я бы повторил этот код один раз для каждого события.
Является ли это разумным и надежным способом обработки отказа от подписки на события для предотвращения утечек памяти?