diff --git a/ICD.Common.Utils/Services/ServiceProvider.cs b/ICD.Common.Utils/Services/ServiceProvider.cs index 57ab020..3dfb1db 100644 --- a/ICD.Common.Utils/Services/ServiceProvider.cs +++ b/ICD.Common.Utils/Services/ServiceProvider.cs @@ -34,12 +34,9 @@ namespace ICD.Common.Services try { m_ServicesSection.Enter(); - foreach (object service in m_Services.Values.Distinct()) - { - if (!(service is IDisposable)) - continue; - ((IDisposable)service).Dispose(); - } + + foreach (IDisposable service in m_Services.Values.OfType().Distinct().ToArray()) + service.Dispose(); m_Services.Clear(); } finally