在Autofac中,使用IEnumerable
var builder = new ContainerBuilder();
builder.RegisterType().As();
builder.RegisterType().As();
// 仅注册SomeClass实例
builder.Register(c =>
{
var resolved = c.Resolve>();
return resolved.FirstOrDefault(o => o.GetType() == typeof(SomeClass));
}
).As();
var container = builder.Build();
var specificInstance = container.Resolve(); // 将返回SomeClass类型的实例
上一篇:Autofac: 有没有办法从容器中获取一个现有的LifetimeScope,以避免在各处传递它的引用?
下一篇:AutoFac比Microsoft.Extensions.DependencyInjection更好在哪些方面?