У меня есть два интерфейса:
public interface IResult
{}
public interface IDataFetcher<T> where T : IResult
{
T Fetch();
}
В моем обработчике я хочу внедрить все службы, которые реализуют IDataFetcher<T>
:
public class MyHandler
{
public MyHandler(IEnumerable<IDataFetcher<IResult>> fetchers)
{
// etc.
}
}
Я сейчас регистрирую IDataFetchers
следующим образом:
public MyRegistry()
{
Scan(scan =>
{
scan.Assembly("name_of_assembly_containg_all_the_classes");
scan.AddAllTypesOf<IResult>();
scan.ConnectImplementationsToTypesClosing(typeof(IDataFetchers<>));
});
}
Когда я устанавливаю точку останова в конструкторе MyHandler
переменная fetchers
пуста (не ноль)
Что мне нужно сделать, чтобы исправить это? Чтобы убедиться, что сборщики заполнены реализациями IDataFetcher
?