/// <summary> /// Создает экземпляр класса <see cref="INamedResolver{TDiscriminator, TInterface}"/>. /// </summary> /// <param name="serviceProvider">Провайдер служб.</param> /// <param name="namedRegistrator">Регистратор именованных типов.</param> public NamedResolver(IServiceProvider serviceProvider, INamedRegistrator <TDiscriminator, TInterface> namedRegistrator) { _serviceProvider = serviceProvider; var registeredTypesAccessor = (IHasRegisteredTypeInfos <TDiscriminator, TInterface>)namedRegistrator; _registeredDescriptors = registeredTypesAccessor.RegisteredTypes; _defaultDescriptor = registeredTypesAccessor.DefaultDescriptor; _equalityComparer = registeredTypesAccessor.EqualityComparer; }
/// <summary> /// Создает экземпляр класса <see cref="NamedRegistratorBuilder{TDiscriminator, TInterface}" />. /// </summary> /// <param name="services">Конфигуратор сервисов.</param> /// <param name="namedRegistrator">Регистратор именованных типов.</param> /// <param name="equalityComparer">Механизм сравнения дискриминаторов.</param> /// <param name="serviceLifetime">Жизненный цикл типа.</param> internal NamedRegistratorBuilder( IServiceCollection services, INamedRegistrator <TDiscriminator, TInterface> namedRegistrator, IEqualityComparer <TDiscriminator?> equalityComparer, ServiceLifetime serviceLifetime ) { _namedRegistrator = namedRegistrator; _equalityComparer = equalityComparer; _services = services; _serviceLifetime = serviceLifetime; }
public void Setup() { _namedRegistrator = new NamedRegistrator <string, ITest>(StringComparer.OrdinalIgnoreCase); }