/// <summary> /// Accepts the <see cref="PropertyDependencyRegistration"/> to visit. /// </summary> /// <param name="registration">The <see cref="PropertyDependencyRegistration"/> to visit.</param> public void Accept(PropertyDependencyRegistration registration) { if (registration == null) { throw new ArgumentNullException(nameof(registration)); } // Visit the inner registration which will add a composition. _manager.Visit(registration.Inner); // Get the original composition, removing it to allow it to be replaced. IComposition inner = _container.RemoveComposition(registration.ImplementationType); (string property, Type type)[] propertiesToInject =
/// <summary> /// Accepts the <see cref="SingletonRegistration"/> to visit. /// </summary> /// <param name="registration">The <see cref="SingletonRegistration"/> to visit.</param> public void Accept(SingletonRegistration registration) { if (registration == null) { throw new ArgumentNullException(nameof(registration)); } // Visit the inner registration which will add a composition. _manager.Visit(registration.Inner); // Get the original composition, removing it to allow it to be replaced. IComposition inner = _container.RemoveComposition(registration.ImplementationType); // Replace the inner composition. IComposition composition = new SingletonComposition(inner); _container.AddComposition(composition); }