public void LightInject() { var container = new LightInject.ServiceContainer(); foreach (var type in _types) { container.Register(type, type); } int length = 0; if (Scenario == ResolveScenario.ResolveOne) { length = 1; } else if (Scenario == ResolveScenario.ResolveHalf) { length = _types.Length / 2; } else if (Scenario == ResolveScenario.ResolveAll) { length = _types.Length; } for (var i = 0; i < length; i++) { container.GetInstance(_types[i]); } container.Dispose(); }
public static IFileWatcher CreateFileWatcher() { LightInject.ServiceContainer _container = new LightInject.ServiceContainer(); _container.Register(typeof(IFileWatcher), typeof(WatcherEx)); IFileWatcher obj = _container.GetInstance <IFileWatcher>(); return(obj); }
public static IFileMonitor CreateFolderWatcher() { LightInject.ServiceContainer _container = new LightInject.ServiceContainer(); _container.Register(typeof(IFileMonitor), typeof(FileMonitor)); IFileMonitor obj = _container.GetInstance <IFileMonitor>(); return(obj); }
public static IRuleEngine CreateInstance() { LightInject.ServiceContainer _container = new LightInject.ServiceContainer(); _container.Register(typeof(IRuleEngine), typeof(RuleEngine)); IRuleEngine obj = _container.GetInstance <IRuleEngine>(); return(obj); }
public static ILogger CreateLogger() { LightInject.ServiceContainer _container = new LightInject.ServiceContainer(); _container.Register(typeof(ILogger), typeof(Logger)); ILogger obj = _container.GetInstance <ILogger>(); return(obj); }
public static IEnumerable <object[]> GetContainerAdapters() { yield return(new object[] { (ResolverFactory)(c => { var container = new DefaultServiceContainer(); c(container); return container.Resolve <IServiceResolver>(); }) }); yield return(new object[] { (ResolverFactory)(c => { var container = new LightInjectContainer(); c(new LightInjectAdapter(container)); return container.GetInstance <IServiceResolver>(); }) }); yield return(new object[] { (ResolverFactory)(c => { var container = new SimpleInjectorContainer { Options = { AllowOverridingRegistrations = true } }; c(new SimpleInjectorAdapter(container)); return container.GetInstance <IServiceResolver>(); }) }); yield return(new object[] { (ResolverFactory)(c => { var container = new StructureMapContainer(r => c(new StructureMapAdapter(r))); return container.GetInstance <IServiceResolver>(); }) }); yield return(new object[] { (ResolverFactory)(c => { var containerBuilder = new ContainerBuilder(); c(new AutofacAdapter(containerBuilder)); var container = containerBuilder.Build(); return container.Resolve <IServiceResolver>(); }) }); #if NETFX yield return(new object[] { (ResolverFactory)(c => { var container = new WindsorContainer(); c(new WindsorAdapter(container)); return container.Resolve <IServiceResolver>(); }) }); yield return(new object[] { (ResolverFactory)(c => { var container = new NinjectContainer(); c(new NinjectAdapter(container)); return container.Get <IServiceResolver>(); }) }); #endif }
public T GetInstance <T>() { return(_container.GetInstance <T>()); }
public void RegisterImplmentation() { // Auto register var odtLibraries = GetReferencingAssemblies("OnDemandTools") .SelectMany(assembly => assembly.ExportedTypes) .ToList(); var profiles = odtLibraries.Where(t => t.GetTypeInfo().IsClass && !t.GetTypeInfo().IsAbstract && !t.GetTypeInfo().IsInterface).ToList(); foreach (var item in profiles) { var ints = item.GetInterfaces(); foreach (var it in ints) { if (it.ToString().StartsWith("OnDemandTools", StringComparison.OrdinalIgnoreCase)) { cntr.Register(it, item); } } } // Add those that cannot be auto registered. Basically the ones outside 'OnDemandTools' namespace or // someother special case // Special initialization for StatusLibrary class OnDemandTools.DAL.Modules.Reporting.Library.StatusLibrary.Init((AppSettings)cntr.GetInstance(typeof(AppSettings))); }