internal static void AddRegistration(Registration dr) { if (StaticLogger.Level != StaticLogger.LoggingLevel.None) { StaticLogger.Log($"DI: Registering {dr.RegisteredType.FullName} => { dr.ToInstantiate.FullName} ({dr.ServiceProvider.Name})", StaticLogger.LoggingLevel.Call); } if (!Registrations.TryGetValue(dr.RegisteredType, out ConcurrentList <Registration> registrations)) { registrations = new ConcurrentList <Registration>(); Registrations.TryAdd(dr.RegisteredType, registrations); } ResolvableTypes.TryRemove(dr.RegisteredType, out _); registrations.Insert(0, dr); return; }