В моем случае некоторый класс зависит не от одного объекта, а от его коллекции:
public class ImportController { ...
public ImportController(IEnumerable<IImportManager> managers) { ... }
}
public class ProductAImportManager : IImportManager { ... }
public class ProductBImportManager : IImportManager { ... }
public class ProductCImportManager : IImportManager { ... }
Я хочу создать экземпляр ImportController с помощью Unity, так как мне зарегистрировать зависимости?
Если я использую что-то вроде
unityContainer.RegisterType<IImportManager, ProductAImportManager>();
unityContainer.RegisterType<IImportManager, ProductBImportManager>();
, второй вызов просто переопределяет первый.
Есть ли способ попросить Unity найти все зарегистрированные типы, которые реализуют интерфейс IImportManager, создать экземпляры этих типов и передать последовательность объектов моему конструктору?