diff --git a/src/Hypercube.Utilities/Dependencies/DependenciesContainer.cs b/src/Hypercube.Utilities/Dependencies/DependenciesContainer.cs index bd46169..141750d 100644 --- a/src/Hypercube.Utilities/Dependencies/DependenciesContainer.cs +++ b/src/Hypercube.Utilities/Dependencies/DependenciesContainer.cs @@ -159,10 +159,11 @@ public object Resolve(Type type, object? context = null) } /// - public void ResolveAll() + public List ResolveAll() { lock (_lock) { + var result = new List(); foreach (var (type, registration) in _registrations) { if (registration.Lifetime == DependencyLifetime.Transient) @@ -171,8 +172,9 @@ public void ResolveAll() if (_instances.ContainsKey(type)) continue; - Resolve(type); + result.Add(Resolve(type)); } + return result; } } diff --git a/src/Hypercube.Utilities/Dependencies/IDependenciesContainer.cs b/src/Hypercube.Utilities/Dependencies/IDependenciesContainer.cs index 43e02ed..64b0e05 100644 --- a/src/Hypercube.Utilities/Dependencies/IDependenciesContainer.cs +++ b/src/Hypercube.Utilities/Dependencies/IDependenciesContainer.cs @@ -110,7 +110,7 @@ public interface IDependenciesContainer /// /// Completely ignores dependencies. /// - void ResolveAll(); + List ResolveAll(); #endregion