public static void Main()
var container = new Container();
container.Register<ILogger, NullLogger>();
const string mainConfigName = "foo";
container.RegisterInstance(mainConfigName, serviceKey: nameof(mainConfigName));
container.Register<MainDB>(Reuse.Transient, Made.Of(() => new MainDB(Arg.Of<string>(nameof(mainConfigName)), Arg.Of<ILogger>())));
container.RegisterDelegate<Func<MainDB>, MainDB.Connector>(f => f.Invoke);
var connector = container.Resolve<MainDB.Connector>();
Console.WriteLine($"Hello {connector()}");
public delegate MainDB Connector();
public MainDB(string cfgName, ILogger logger)
public class NullLogger : ILogger