public ProxyRepository(Options options, ISubdependency simpleDependency) : base( // A simple dependency is injected to us automatically - we only need to register it simpleDependency, // A complex dependency comes through the non-generic, carefully registered Options type options?.ComplexSubdependency ?? throw new ArgumentNullException(nameof(options)), // Configuration data comes through the Options type as well options.ConnectionString) { }
/// <summary> /// Fluently sets the given subdependency, allowing to options object to be mutated and returned as a single expression. /// </summary> internal Options WithSubdependency(ISubdependency subdependency) { this.ComplexSubdependency = subdependency ?? throw new ArgumentNullException(nameof(subdependency)); return(this); }
public RootB(ISubdependency subdependency) { }