#55: dispose disposable singletons and multitons when container is disposed

pull/57/head
Simon G 4 years ago
parent 3b11e24e7b
commit 6c55441514
  1. 13
      LightweightIocContainer/IocContainer.cs

@ -785,6 +785,19 @@ namespace LightweightIocContainer
public void Dispose()
{
Registrations.Clear();
foreach (var singleton in _singletons)
{
if (singleton.instance is IDisposable disposable)
disposable.Dispose();
}
foreach (var multitonInstance in _multitons.SelectMany(multiton => multiton.instances))
{
if (multitonInstance.Value is IDisposable disposable)
disposable.Dispose();
}
_singletons.Clear();
_multitons.Clear();
}

Loading…
Cancel
Save