public void FuncWithOneObjectParameter(bool overload)
{
var builder = new ContainerBuilder();
if (overload) builder.RegisterType<Logger>().As<ILogger>();
builder.RegisterType<ErrorHandler>().As<IErrorHandler>();
var container = builder.Build();
var factory = container.Resolve<Func<ILogger, IErrorHandler>>();
var logger = new Logger();
var obj = factory(logger);
Assert.Equal(logger, obj.Logger);
}