private CompositeContainer(CompositeRuntimeSettings runtimeSettings = null, IoC.CompositeContainer container = null) { IRuntime compositeRuntime = null; INCopDependencyAwareRegistry registry = null; INCopDependencyContainerAdapter compositeAdpater = null; this.runtimeSettings = runtimeSettings ?? CompositeRuntimeSettings.Empty; compositeAdpater = this.runtimeSettings.DependencyContainerAdapter; if (compositeAdpater.IsNotNull()) { dependencyContainer = compositeAdpater; registry = new NCopRegistryAdapter(compositeAdpater); } else { var compositeContainerAdapter = new CompositeContainerAdapter(container); registry = compositeContainerAdapter; dependencyContainer = compositeContainerAdapter; } registry = new CompositeRegistryDecorator(registry); compositeRuntime = new CompositeRuntime(this.runtimeSettings, registry); compositeRuntime.Run(); }
public INCopDependencyContainer CreateChildContainer() { var childContainer = (NCop.Composite.IoC.CompositeContainer)dependencyContainer.CreateChildContainer(); var newCompositeSettings = new CompositeRuntimeSettings { Types = runtimeSettings.Types, Assemblies = runtimeSettings.Assemblies }; return(new Framework.CompositeContainer(newCompositeSettings, childContainer)); }
public CompositeContainer(CompositeRuntimeSettings runtimeSettings = null) { INCopRegistry registry = null; IRuntime compositeRuntime = null; runtimeSettings = runtimeSettings ?? CompositeRuntimeSettings.Empty; compositeAdapter = runtimeSettings.DependencyContainerAdapter ?? new CompositeContainerAdapter(); registry = new CompositeRegistryDecorator(compositeAdapter); compositeRuntime = new CompositeRuntime(runtimeSettings, registry); compositeRuntime.Run(); }
static void Main(string[] args) { int i = 0, j = 0, k = 0; //new Person().Code(ref i, j, ref k); return; var settings = new CompositeRuntimeSettings { DependencyContainerAdapter = new StructureMapAdapter() }; var container = new CompositeContainer(settings); container.Configure(); var person = container.TryResolveNamed <IPersonComposite>("IPersonComposite"); person.Code(ref i, j, ref k); Console.WriteLine(i); }
public CompositeContainer(CompositeRuntimeSettings runtimeSettings = null) : this(runtimeSettings, null) { }