/// <inheritdoc/> public IServiceRegister TryRegister(Type serviceType, Type implementationType, DI.ServiceLifetime serviceLifetime, RegistrationCompareMode mode = RegistrationCompareMode.ServiceType) { if (serviceType == null) { throw new ArgumentNullException(nameof(serviceType)); } if (implementationType == null) { throw new ArgumentNullException(nameof(implementationType)); } var descriptor = new ServiceDescriptor(serviceType, implementationType, TranslateLifetime(serviceLifetime)); if (mode == RegistrationCompareMode.ServiceType) { ServiceCollection.TryAdd(descriptor); } else if (mode == RegistrationCompareMode.ServiceTypeAndImplementationType) { ServiceCollection.TryAddEnumerable(descriptor); } else { throw new ArgumentOutOfRangeException(nameof(mode)); } return(this); }
public override IGraphQLBuilder TryRegister(Type serviceType, Type implementationType, DI.ServiceLifetime serviceLifetime) { if (serviceType == null) { throw new ArgumentNullException(nameof(serviceType)); } if (implementationType == null) { throw new ArgumentNullException(nameof(implementationType)); } _services.TryAdd(new ServiceDescriptor(serviceType, implementationType, TranslateLifetime(serviceLifetime))); return(this); }