public DependencyScope(IOuterDependencyScopeGetter outerScopeGetter, IDependencyExporter exporter, bool ownsExporter = default, bool prohibitNewInstanceRequest = default, object owner = default) { outerScopeGetter.EnsureNotNull(nameof(outerScopeGetter)); // _outerScopeGetter = outerScopeGetter.ToValueHolder(ownsValue: false); _prohibitNewInstanceRequest = prohibitNewInstanceRequest; P_CtorInitializer(exporter: exporter, ownsDependencyExporter: ownsExporter, owner: owner); }
protected override void BuildDependencyScope(IOuterDependencyScopeGetter outerScopeGetter, IDependencyExporter exporter, bool ownsExporter, out IDependencyScope scope) => scope = new DependencyScope(outerScopeGetter: outerScopeGetter, exporter: exporter, ownsExporter: ownsExporter, prohibitNewInstanceRequest: false, owner: ReadDA(location: ref _efContext));
protected override void BuildDependencyScope(IOuterDependencyScopeGetter outerScopeGetter, IDependencyExporter exporter, bool ownsExporter, out IDependencyScope scope) => scope = new DependencyScope(outerScopeGetter: outerScopeGetter, exporter: exporter, ownsExporter: ownsExporter, owner: ReadDA(ref _metadata));
protected override void BuildDependencyExporter(IOuterDependencyScopeGetter outerScope, out IVh <IDependencyExporter> exporter) => ReadDA(ref _metadata).BuildDependencyExporter(outerScope: outerScope, out exporter);
protected override void GetOuterDependencyScopeGetter(out IOuterDependencyScopeGetter getter) => getter = ReadDA(ref _outerScopeProvider);
protected virtual void BuildDependencyExporter(IOuterDependencyScopeGetter outerScope, out IVh <IDependencyExporter> exporter) { outerScope.EnsureNotNull(nameof(outerScope)); // exporter = outerScope.GetOuterScope().ResolveDependency <IMetadataDependencyExporterBuilder>(ensureResolution: true).BuildFor(metadata: this); }
protected virtual void BuildDependencyExporter(IOuterDependencyScopeGetter outerScopeGetter, out IVh <IDependencyExporter> exporter) => exporter = new P_DelegatedDependencyExporter(export: LocalDependencies).ToValueHolder(ownsValue: true);
protected virtual void GetOuterDependencyScopeGetter(out IOuterDependencyScopeGetter getter) => getter = new P_OuterDependencyScopeGetter(getter: P_GetOuterDependencyScope);
protected virtual void BuildDependencyScope(IOuterDependencyScopeGetter outerScopeGetter, IDependencyExporter exporter, bool ownsExporter, out IDependencyScope scope) => scope = new DependencyScope(outerScopeGetter: outerScopeGetter, exporter: exporter, ownsExporter: ownsExporter, owner: this);