private readonly DependencyDefinitionBase _aggregator; // the outer dependency containing this dependency, if defined indirectly public DependencyDefinitionBase(RequirementDefinitionBase requirement, DependencyDefinitionBase aggregator) { ArgumentUtility.CheckNotNull("requirement", requirement); ArgumentUtility.CheckType("aggregator", aggregator, GetType()); _requirement = requirement; _aggregator = aggregator; _aggregatedDependencies = new UniqueDefinitionCollection <Type, DependencyDefinitionBase> ( delegate(DependencyDefinitionBase d) { return(d.RequiredType.Type); }, HasSameDepender); }
private bool HasSameDepender(DependencyDefinitionBase dependencyToCheck) { ArgumentUtility.CheckNotNull("dependencyToCheck", dependencyToCheck); return(dependencyToCheck.Depender == Depender); }
public ComposedInterfaceDependencyDefinition(RequiredTargetCallTypeDefinition requirement, Type composedInterface, DependencyDefinitionBase aggregator) : base(requirement, aggregator) { ArgumentUtility.CheckNotNull("composedInterface", composedInterface); _composedInterface = composedInterface; }