Example #1
0
        public virtual IApplication Build()
        {
            IContainer container = null;
            var        host      = new Application(BeforeRunners, Runners);

            ContainerBuilder.Register(x => host).As <IApplication>().SingleInstance();
            ContainerBuilder.Register(x => container).As <IContainer>().SingleInstance();
            ContainerBuilder.RegisterType <ConsoleLogger>().As <ILogger>().SingleInstance();

            ComponentRegisters.ForEach(x => { x(ContainerBuilder); });
            container = ContainerBuilder.Build();
            Initializers.ForEach(x => { x(container); });
            host.Container = container;

            return(host);
        }
Example #2
0
 public virtual T AddComponent(Action <ContainerBuilder> componentRegister)
 {
     ComponentRegisters.Add(componentRegister);
     return(this as T);
 }