我正在尝试为支付网关实现编写一个 StructureMap 插件扫描仪。我在外部库中创建了 IPaymentGateway 接口。我创建了 IPaymentGateway 的多个实现,并将这些 .dll 放在我的 C:\Extensions\ 文件夹中。
这是我的 StructureMap 配置:
ObjectFactory.Initialize(cfg =>
{
cfg.Scan(scanner =>
{
scanner.AssembliesFromPath(@"C:\Extensions\");
});
});
这是我的调用代码:
var list = ObjectFactory.GetAllInstances<IPaymentGateway>().ToList();
list.ForEach(item => Console.WriteLine(item.FriendlyName));
我希望该列表应包含我的 IPaymentGateway 的每个实现,但它不包含任何内容。我缺少什么?
Thanks!
您需要使用扫描仪添加类型:
ObjectFactory.Initialize(cfg => {
cfg.Scan(scanner =>
{
scanner.AssembliesFromPath(@"C:\Extensions\");
scanner.AddAllTypesOf<IPaymentGateway>();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)