我有两个界面:
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
变量为空(不为null)
该如何解决?要确保抓取程序充满了IDataFetcher
的实现?