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);
 }
Пример #3
0
 public ComposedInterfaceDependencyDefinition(RequiredTargetCallTypeDefinition requirement, Type composedInterface, DependencyDefinitionBase aggregator)
     : base(requirement, aggregator)
 {
     ArgumentUtility.CheckNotNull("composedInterface", composedInterface);
     _composedInterface = composedInterface;
 }