Unity Registrarse para una interfaz Múltiples objetos y decirle a Unity dónde inyectarlos

Hola, he tenido problemas tratando de decirle a Unity que para una interfaz si tiene varias implementaciones, quiero que las inyecte en diferentes clases. Esto es lo que quiero decir:

Digamos que tengo una interfazIProductCatalogService y dos implementacionesProductCatalog : IProductCatalogService yProductCatalogService : IProductCatalogService.

¿Cómo haría para decirle a Unity que para la Clase A que quiero en mi constructor pasó una instancia de tipoProductCatalog y para la claseB Quiero una instancia deProductCatalogService.

Estoy usando Unity en un proyecto de la API web ASP.NET y he configurado la resolución en elGLobalConfiguration.

Para registros simples 1 a 1 todo funciona.

Esto es lo que he intentado pero no parece funcionar:

public class DependencyServiceModel
{
    public Type From { get; set; }
    public Type To { get; set; }
    public IEnumerable<Type> ForClasses { get; set; }
}

public void RegisterTypeForSpecificClasses(DependencyServiceModel dependencyService)
{
    foreach (var forClass in dependencyService.ForClasses)
    {
        string uniquename = Guid.NewGuid().ToString();

        Container.RegisterType(dependencyService.From, 
            dependencyService.To, uniquename);

        Container.RegisterType(forClass, uniquename, 
            new InjectionConstructor(
                new ResolvedParameter(dependencyService.To)));
    }
}

En elDependencyServiceModel, From es la interfaz,To Es el objeto de la bruja que quiero instanciar yForClasses son el tipo para el que quiero usar elTo Objeto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta