public static void Main()
var l = new []{"cat", "dog", "rabbit"};
var containerBuilder = new ContainerBuilder();
containerBuilder.Register(ctx => new ServiceA(i))
using (var container = containerBuilder.Build())
using (var life = container.BeginLifetimeScope())
var serviceAs = life.Resolve<IServiceA[]>();
foreach(var s in serviceAs)
var catService = life.ResolveNamed<IServiceA>("cat");
public class ServiceA : IServiceA, IDisposable
private readonly string _who;
public ServiceA(string who)
public void Say(string text)
Console.WriteLine("Service A (" + _who + ") Says " + text);
Console.WriteLine("Disposing Service A");
public interface IServiceA