/// <summary>
        /// Gets an instance of particular type. Registers this type with transient life time if needed.
        /// </summary>
        public object GetInstance(Type type)
        {
            if (!_container.CanGetInstance(type, string.Empty))
            {
                _container.Register(type);
            }

            return(_container.GetInstance(type));
        }
Ejemplo n.º 2
0
        public void Run <TPresenter>()
            where TPresenter : class, IPresenter
        {
            if (!container.CanGetInstance(typeof(TPresenter), String.Empty))
            {
                container.Register <TPresenter>();
            }
            IPresenter presenter = container.GetInstance <TPresenter>();

            presenter.Run();
        }
Ejemplo n.º 3
0
        public void Test()
        {
            var notFound = _container.CanGetInstance(typeof(NotDependencyStub), string.Empty);

            Assert.IsFalse(notFound);

            _dependencyRegister.RegisterAssemblyDependencies(_container, new List <Assembly> {
                GetType().Assembly
            });

            var found = _container.CanGetInstance(typeof(NotDependencyStub), string.Empty);

            Assert.IsTrue(found);

            var stub = _container.GetInstance <NotDependencyStub>();

            Assert.IsNotNull(stub);
            Assert.IsInstanceOfType(stub, typeof(NotDependencyStub));
        }
Ejemplo n.º 4
0
        public void RunApplication(string[] args)
        {
            if (!container.CanGetInstance(typeof(Startup), startupServiceName))
            {
                throw new Exception("Dependences wasn't initialised! Please, provide call 'InitializeDependences' before 'RunApplication'.");
            }
            var startup = container.TryGetInstance <Startup>();

            startup.Execute(args);
        }
Ejemplo n.º 5
0
        public void Run <TPresenter>() where TPresenter : IPresenter
        {
            if (!ServiceContainer.CanGetInstance(typeof(TPresenter), string.Empty))
            {
                ServiceContainer.Register <TPresenter>();
            }

            TPresenter presenter = ServiceContainer.GetInstance <TPresenter>();

            presenter.Run();
        }
Ejemplo n.º 6
0
        public Initialization(IMod mod)
        {
            var container = new ServiceContainer();

            container.RegisterAssembly(GetType().Assembly);
            container.RegisterInstance(mod.Helper);
            container.RegisterInstance(mod.Monitor);
            container.Register <IHarmonyWrapper, HarmonyWrapper>();
            container.Register <IWrapperFactory, WrapperFactory>();
            container.Decorate <IMonitor, Logger>();
            container.RegisterInstance <IServiceFactory>(container.BeginScope());

            foreach (var service in container.AvailableServices)
            {
                mod.Monitor.Log(service.ServiceType.FullName + " | " + container.CanGetInstance(service.ServiceType, String.Empty), LogLevel.Debug);
            }

            container.GetInstance <IHarmonyPatch>();
            container.GetInstance <IDialogueApi>();
        }
 public bool IsRegistered <TService>()
 {
     return(_container.CanGetInstance(typeof(TService), string.Empty));
 }
Ejemplo n.º 8
0
 public bool CanGet <T>(string name)
 => container.CanGetInstance(typeof(T), name);
Ejemplo n.º 9
0
 public bool IsRegistered <T>()
 {
     return(r_Container.CanGetInstance(typeof(T), string.Empty));
 }