public void OverridesAreUsedInArrayElements() { using (IUnityContainer container = new UnityContainer()) { var overrideInstance = new ClassWithPerResolveLifetime(); container.RegisterType <ClassWithDependency>("instance1"); container.RegisterType <ClassWithDependency>("instance2"); var instance = container.Resolve <ClassWithDependencyOnArray>(new DependencyOverride <ClassWithPerResolveLifetime>(overrideInstance).OnType <ClassWithDependency>()); Assert.AreEqual(2, instance.Elements.Length); Assert.AreSame(overrideInstance, instance.Elements[0].Dependency); Assert.AreSame(overrideInstance, instance.Elements[1].Dependency); } }
public ClassWithDependency(ClassWithPerResolveLifetime dependency) { this.Dependency = dependency; }