public T GetInstance <T>(string key, DataContext db) { var list = new ParameterOverrides(); list.Add(key, db); return(GetUnityContainer().Resolve <T>(list)); }
public static T Resolve <T>(params IParameter[] parameters) { if (parameters == null) { throw new ArgumentNullException("parameters"); } if (parameters.Length > 0) { ParameterOverrides paramsOverride = new ParameterOverrides(); foreach (var parameter in parameters) { if (parameter.Value != null) { paramsOverride.Add(parameter.Name, parameter.Value); } } return(m_container.Value.Resolve <T>(paramsOverride)); } else { return(m_container.Value.Resolve <T>()); } }
public static T Resolve <T>(string name, params KeyValuePair <string, object>[] parameters) { ParameterOverrides ss = new ParameterOverrides(); parameters.ToList().ForEach(t => ss.Add(t.Key, t.Value)); return(Container.Resolve <T>(name, ss)); }
public IEnumerable <MessageHandlerBase> GetHandlers(ILogger log, string connection_string_name) { var overrides = new ParameterOverrides { { "log", log }, { "connection_string_name", connection_string_name } }; return(ApiSetup.Container.ResolveAll <MessageHandlerBase>(overrides)); }
public T ResolveWithParent <T>(ObservableObjectBase parent) { var parameterOverride = new ParameterOverrides { { "target", parent } }; return(_container.Resolve <T>(parameterOverride)); }
public static ITenantedAccountManager GetTenantedAccountManager() { var parameterOverrides = new ParameterOverrides { { "connectionString", UserManagementConnectionString } }; return(IocContainer.Resolve <ITenantedAccountManager>(parameterOverrides)); }
/// <summary> /// 返回构结函数带参数 /// </summary> /// <typeparam name="T">依赖对象</typeparam> /// <param name="configName">配置文件中指定的文字(没写会报异常)</param> /// <param name="parameterList">参数集合(参数名,参数值)</param> /// <returns></returns> public T GetServer <T>(string configName, Dictionary <string, object> parameterList) { var list = new ParameterOverrides(); foreach (var item in parameterList) { list.Add(item.Key, item.Value); } return(_container.Resolve <T>(configName, list)); }
public static T Resolve <T>(IDictionary <string, object> arguments) { T ret = default(T); ParameterOverrides overrides = GetParametersOverrideFromDictionary <T>(arguments); ret = Container.Resolve <T>(overrides); return(ret); }
public BugPanelViewModel CreateBugViewPanel(ProjectViewModel project, BugViewModel bug) { ParameterOverrides parameters = new ParameterOverrides() { { "activeProj", project }, { "selectedBug", bug } }; return _Container.Resolve<BugPanelViewModel>("ViewPanel", parameters); }
public BugPanelViewModel CreateBugViewPanel(ProjectViewModel project, BugViewModel bug) { ParameterOverrides parameters = new ParameterOverrides() { { "activeProj", project }, { "selectedBug", bug } }; return(_Container.Resolve <BugPanelViewModel>("ViewPanel", parameters)); }
/// <summary> /// 返回构结函数带参数 /// </summary> /// <typeparam name="T">依赖对象</typeparam> /// <param name="parameterList">参数集合(参数名,参数值)</param> /// <returns></returns> public static T GetServer <T>(Dictionary <string, object> parameterList) { var list = new ParameterOverrides(); foreach (KeyValuePair <string, object> item in parameterList) { list.Add(item.Key, item.Value); } return(container.Resolve <T>(list)); }
public T GetInstance <T>(Dictionary <string, object> parameters) { var list = new ParameterOverrides(); foreach (KeyValuePair <string, object> item in parameters) { list.Add(item.Key, item.Value); } return(GetUnityContainer().Resolve <T>(list)); }
public IBotCommand Create(CommandInfo commandInfo, ITelegramBotClient botClient, BotLogger logger) { var overrides = new ParameterOverrides { { "botClient", botClient }, { "logger", logger } }; return(_container.Resolve(commandInfo.CommandType, overrides) as IBotCommand); }
private static ParameterOverrides GetParametersOverrideFromDictionary <T>(IDictionary <string, object> arguments) { ParameterOverrides resolverOverride = new ParameterOverrides(); foreach (string key in arguments.Keys) { resolverOverride.Add(key, arguments[key]); } return(resolverOverride); }
public static T Resolve <T>(params KeyValuePair <string, object>[] parameters) { var overrides = new ParameterOverrides(); foreach (var parameter in parameters) { overrides.Add(parameter.Key, parameter.Value); } return(Unity.Resolve <T>(overrides)); }
public IRegistrationSuccessPanelViewModel CreateRegistrationSuccessPanel(String username, IRegistrationViewModel window) { ParameterOverrides parameters = new ParameterOverrides() { { "username", username }, { "regwindow", window } }; return(_Container.Resolve <IRegistrationSuccessPanelViewModel>(parameters)); }
/// <summary> /// Извлекает из контейнера инстанс. /// </summary> /// <typeparam name="T">Тип извлекаемого объекта.</typeparam> /// <param name="parameters">Список параметров, которые будут переданы в констркуктор.</param> /// <returns>Объект типа Т.</returns> public T Resolve <T>(IDictionary <string, object> parameters) { var parameterOverrides = new ParameterOverrides(); foreach (var parameter in parameters) { parameterOverrides.Add(parameter.Key, parameter.Value); } return(Container.Resolve <T>(parameterOverrides)); }
/// <summary> /// Convert dictionary of parameters to Unity ParameterOverrides /// </summary> /// <param name="objectParams"></param> /// <returns></returns> private ParameterOverrides GetParameterOverrides(IEnumerable <KeyValuePair <string, object> > objectParams) { var parameterOverrides = new ParameterOverrides(); foreach (KeyValuePair <string, object> item in objectParams) { parameterOverrides.Add(item.Key, item.Value); } return(parameterOverrides); }
/// <summary> /// Resolves the type T using the provided parameters. /// </summary> /// <typeparam name="T">The type.</typeparam> /// <param name="parameters">The parameters.</param> /// <returns></returns> public T Resolve <T>(Dictionary <string, object> parameters) { var parameterOverrides = new ParameterOverrides(); foreach (var parameter in parameters) { parameterOverrides.Add(parameter.Key, parameter.Value); } return((T)_iocContainer.Resolve(typeof(T), parameterOverrides.OnType <T>())); }
/// <summary> /// Resolves with Type T /// </summary> /// <typeparam name="T">Type to resolve</typeparam> /// <param name="parameters">List of parameters</param> /// <returns></returns> protected override T ResolveInstance <T>(params Parameter[] parameters) { ParameterOverrides allParams = new ParameterOverrides(); foreach (var param in parameters) { allParams.Add(param.ParameterName, param.ParameterValue); } return(_container.Resolve <T>(allParams)); }
/// <summary> /// Gets an object based on the unity confiuration container 'name'. Runtime objects may be injected as /// key/value pairs via a <see cref="Dictionary"/> object /// </summary> /// <typeparam name="T">Type of object expected</typeparam> /// <param name="alias">The unity container registerd name (from configuration)</param> /// <param name="constructorArguments">Runtime objects to be injected</param> /// <returns></returns> public T GetObjectByAlias <T>(String alias, Dictionary <string, object> constructorArguments) where T : class { ParameterOverrides constArgs = new ParameterOverrides(); if (constructorArguments != null) { foreach (KeyValuePair <string, object> kvp in constructorArguments) { constArgs.Add(kvp.Key, kvp.Value); } } return(this.GetObjectByAlias <T>(alias, constArgs)); }
public object GetInstance(Type type, params IResolutionArgument[] parameters) { var args = new ParameterOverrides(); var constructorParameters = parameters.OfType <ConstructorParameter, IResolutionArgument>(); for (int i = 0; i < constructorParameters.Length; i++) { var parameter = constructorParameters[i]; args.Add(parameter.Name, parameter.Value); } return(container.Resolve(type, args)); }
/// <summary> /// Override Multiple Parameters /// </summary> private async void Test42() { _unityContainer.RegisterType <IDriver, UWPDriverMultiOverride>(); var p = new ParameterOverrides { { "car1", new Audi() }, { "carKey1", new AudiKey() }, { "car2", new BMW() }, { "carKey2", new BMWKey() } }; var driver = _unityContainer.Resolve <IDriver>(p); await driver.RunCarAsync(); }
public static T Resolve <T>(IDictionary <string, object> paramDict = null) { var list = new ParameterOverrides(); if (paramDict != null && paramDict.Count > 0) { foreach (var item in paramDict) { list.Add(item.Key, item.Value); } } return(Container.Resolve <T>(list)); }
public void WhenInjectingConstructorWithOverridesCollection() { var container = new UnityContainer() .RegisterType <SubjectType1ToInject>(new InjectionConstructor(1, "abc")); ParameterOverrides overrides = new ParameterOverrides(); overrides.Add("y", "string"); overrides.Add("x", 123); var result = container.Resolve <SubjectType1ToInject>(overrides); Assert.AreEqual <int>(result.X, 123); Assert.AreEqual <string>(result.Y, "string"); }
public static object GetInstance(Type objectType, object anonymousParameters) { ParameterOverrides parameters = null; if (anonymousParameters != null) { parameters = new ParameterOverrides(); var apType = anonymousParameters.GetType(); foreach (var parameter in apType.GetProperties()) { parameters.Add(parameter.Name, parameter.GetValue(anonymousParameters)); } } return(UnityResolution.Container.Resolve(objectType, parameters)); }
public static T GetInstance <T>(object anonymousParameters) { Type objectType = typeof(T); ParameterOverrides parameters = null; if (anonymousParameters != null) { parameters = new ParameterOverrides(); foreach (var parameter in anonymousParameters.GetType().GetProperties()) { parameters.Add(parameter.Name, parameter.GetValue(parameter)); } } return((T)UnityResolution.Container.Resolve(objectType, parameters)); }
protected override void ConfigureViewModelLocator() { ViewModelLocationProvider.SetDefaultViewModelFactory((view, type) => { ParameterOverrides overrides = null; var page = view as Page; if (page != null) { overrides = new ParameterOverrides { { "navigationService", CreateNavigationService(page) } }; } return(Container.Resolve(type, overrides)); }); }
public object GetInstance(Type type, string key, params IResolutionArgument[] parameters) { try { var args = new ParameterOverrides(); var constructorParameters = parameters.OfType <ConstructorParameter, IResolutionArgument>(); for (int i = 0; i < constructorParameters.Length; i++) { var parameter = constructorParameters[i]; args.Add(parameter.Name, parameter.Value); } return(container.Resolve(type, key, args)); } catch (ResolutionFailedException) { throw new RegistrationNotFoundException(type, key); } }
/// <summary> /// Adds the trait instance <see cref="T"/> to this collection, returning the actual instance /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public T Add <T>() where T : IViewModelTrait { IViewModelTrait oldBehaviour; if (_children.TryGetValue(typeof(T), out oldBehaviour)) { oldBehaviour.Dispose(); _composite.Remove(oldBehaviour); } var parameterOverride = new ParameterOverrides { { "target", _parent } }; var newBehaviour = _container.Resolve <T>(parameterOverride); _children[typeof(T)] = newBehaviour; newBehaviour.DisposeWith(this); return(newBehaviour); }
protected override void ConfigureViewModelLocator() { ViewModelLocationProvider.SetDefaultViewModelFactory((view, type) => { ParameterOverrides overrides = null; var page = view as Page; if (page != null) { var navService = new PageNavigationService(); ((IPageAware)navService).Page = page; overrides = new ParameterOverrides { { "navigationService", navService } }; } return Container.Resolve(type, overrides); }); }
protected override void ConfigureViewModelLocator() { ViewModelLocationProvider.SetDefaultViewModelFactory((view, type) => { ParameterOverrides overrides = null; var page = view as Page; if (page != null) { var navService = Container.Resolve <UnityPageNavigationService>(); ((IPageAware)navService).Page = page; overrides = new ParameterOverrides { { "navigationService", navService } }; } return(Container.Resolve(type, overrides)); }); }
private static MainPageViewModel GetViewModelInstance() { SetupColors(); var turtleViewModel = new TurtleViewModel(); _dialog = new ModalDialogStub(); _fileOperations = new FileOperationsStub(); UnityContainer. RegisterInstance<IVariableHandler<float>>(FloatVariableHandler.Instance). RegisterInstance<ITurtleViewModel>(turtleViewModel). RegisterInstance<IFileOperations>(_fileOperations). RegisterInstance<IModalSaveDialog>(_dialog). RegisterInstance<ITurtleGraphicsFunctionHandler>(TurtleGraphicsFunctionHandler.Instance). RegisterType<IModalLoadDialog, SilverlightLoadModelDialog>(). RegisterType<IModalPrintDialog, SilverlightModalPrintDialog>(). RegisterType<ICanceller, Canceller>(new ContainerControlledLifetimeManager()). RegisterType<ITurtleGraphicsExecutionEngine, TurtleGraphicsExecutionEngine>(new ContainerControlledLifetimeManager()). RegisterType<ITurtleGraphicsSyntaxAnalyser, TurtleGraphicsSyntaxAnalyser>(new ContainerControlledLifetimeManager()). RegisterType<ITurtleGraphicsLexicalAnalyser, TurtleGraphicsLexicalAnalyser>(new ContainerControlledLifetimeManager()). RegisterType<ITurtleGraphicsControlStructures, TurtleGraphicsControlStructures>(new ContainerControlledLifetimeManager()). RegisterType<ITurtleGraphicsRuntime, SilverlightTurtleGraphicsRuntime>(new ContainerControlledLifetimeManager()). RegisterType<ITurtleGraphicsCommandMatcher, TurtleGraphicsReflectionMatcher>(new ContainerControlledLifetimeManager()). RegisterType<MainPageViewModel>("MAINPAGEVIEWMODEL", new ContainerControlledLifetimeManager()); _turtlePointer = new Image { Width = 16, Height = 16 }; _debugWindow = new TextBox(); _tiErrorTab = new TabItem(); _drawingSurface = new Canvas { Width = 1000, Height = 1000 }; _scrollViewer = new ScrollViewer(); var parameterOverrides = new ParameterOverrides { {"drawingSurface", _drawingSurface}, {"turtlePointer", _turtlePointer}, {"colors", _colors}, {"startForeColorIdx", 1}, {"startBackColorIdx", 2}, {"debugWindow", _debugWindow}, {"initialPenWidth", 1}, {"screenScroller", _scrollViewer}, }; var wpfTurtleGraphics = UnityContainer.Resolve<SilverlightTurtleGraphicsRuntime>(parameterOverrides); parameterOverrides = new ParameterOverrides { {"turtleGraphicsSystem", wpfTurtleGraphics}, }; UnityContainer.Resolve<ITurtleGraphicsCommandMatcher>(parameterOverrides); parameterOverrides = new ParameterOverrides { {"turtleProgramStorage", new TurtleProgramStorage()}, {"turtlePointer", _turtlePointer}, {"debugWindow", _debugWindow}, {"tiErrorTab", _tiErrorTab}, {"turtleGraphicsRuntime", wpfTurtleGraphics}, {"startForeColorIndex", 1}, {"initialPenWidth", 1}, {"colors", _colors}, }; return UnityContainer.Resolve<MainPageViewModel>("MAINPAGEVIEWMODEL", parameterOverrides); }
private void AddReferenceInProjects(IList<string> referencesToAdd, IList<string> projects) { if (referencesToAdd.Count > 0 && projects.Count > 0) { foreach (var projectPath in _projects) { var fileName = Path.GetFileName(projectPath); var parameters = new ParameterOverrides(); parameters.Add("path", projectPath); var project = _container.Resolve<IProject>("", parameters); var projectHasChanged = false; foreach (var reference in referencesToAdd) { if (!ProjectContainsAlreadyTheReference(project, reference)) { project.AddItem("Reference", reference, null); projectHasChanged = true; } else { _console.WriteLine(reference + " is already in " + fileName); } } if (projectHasChanged) { project.Save(); _console.WriteLine(fileName + " has new references added."); } } } }
/// <summary> /// Identifica e mapeia os parâmetros do construtor. /// </summary> /// <param name="construtor">Construtor do objeto.</param> /// <param name="parametros">Parâmetros de construção.</param> /// <returns>Retorna o mapeamento dos parâmetros do construtor.</returns> private ParameterOverrides RetornaMapeamentoDeParametros(ConstructorInfo construtor, IList<object> parametros) { var parametrosOverrides = new ParameterOverrides(); var informacoesDosParametros = construtor.GetParameters(); for (var i = 0; i < informacoesDosParametros.Length; i++) { parametrosOverrides.Add(informacoesDosParametros[i].Name, parametros[i]); } return parametrosOverrides; }
public void WhenInjectingConstructorWithOverridesCollection() { var container = new UnityContainer() .RegisterType<SubjectType1ToInject>(new InjectionConstructor(1, "abc")); ParameterOverrides overrides = new ParameterOverrides(); overrides.Add("y", "string"); overrides.Add("x", 123); var result = container.Resolve<SubjectType1ToInject>(overrides); Assert.AreEqual<int>(result.X, 123); Assert.AreEqual<string>(result.Y, "string"); }
public void WhenOverridingContainerHavingMultiplePolymorphicTypes() { IUnityContainer container = new UnityContainer(); container.RegisterType<ISubjectTypeToInject, SubjectType1ToInject>("SubjectType1ToInject", new InjectionConstructor(1, "DefaultValue")); container.RegisterType<ISubjectTypeToInject, SubjectType2ToInject>("SubjectType2ToInject", new InjectionConstructor(2, "DefaultValue")); container.RegisterType<ISubjectTypeToInject, SubjectType3ToInject>("SubjectType3ToInject", new InjectionConstructor(3, "DefaultValue")); ParameterOverrides overrides = new ParameterOverrides(); overrides.Add("x", 4); overrides.Add("y", "overriddenValue"); System.Collections.Generic.IEnumerable<ISubjectTypeToInject> overriddenList1 = container.ResolveAll<ISubjectTypeToInject>(overrides); System.Collections.Generic.IEnumerable<ISubjectTypeToInject> defaultList = container.ResolveAll<ISubjectTypeToInject>(); int count = 0; foreach (var item in overriddenList1) { ++count; Assert.AreEqual<int>(4, item.X); Assert.AreEqual<string>("overriddenValue", item.Y); } Assert.AreEqual<int>(3, count); count = 0; foreach (var item in defaultList) { ++count; Assert.AreEqual<string>("DefaultValue", item.Y); } Assert.AreEqual<int>(3, count); }
private void ResolveDependancies() { var parameterOverrides = new ParameterOverrides { {"drawingSurface", turtleCanvas}, {"turtlePointer", imgTurtle}, {"colors", _colors}, {"startForeColorIdx", StartForeColorIdx}, {"startBackColorIdx", StartBackColorIdx}, {"debugWindow", DebugWindow}, {"initialPenWidth", InitialPenWidth}, {"screenScroller", ScreenScroller}, }; var wpfTurtleGraphics = UnityContainer.Resolve<SilverlightTurtleGraphicsRuntime>(parameterOverrides); parameterOverrides = new ParameterOverrides { {"turtleGraphicsSystem", wpfTurtleGraphics}, }; UnityContainer.Resolve<ITurtleGraphicsCommandMatcher>(parameterOverrides); parameterOverrides = new ParameterOverrides { {"turtleProgramStorage", new TurtleProgramStorage()}, {"turtlePointer", imgTurtle}, {"debugWindow", DebugWindow}, {"tiErrorTab", tiErrors}, {"turtleGraphicsRuntime", wpfTurtleGraphics}, {"startForeColorIndex", StartForeColorIdx}, {"initialPenWidth", InitialPenWidth}, {"colors", _colors}, }; var mvvm = UnityContainer.Resolve<MainPageViewModel>("MAINPAGEVIEWMODEL", parameterOverrides); DataContext = mvvm; }
public IEnumerable<MessageHandlerBase> GetHandlers(ILogger log, string connection_string_name) { var overrides = new ParameterOverrides {{"log", log}, {"connection_string_name", connection_string_name}}; return ApiSetup.Container.ResolveAll<MessageHandlerBase>(overrides); }
public IRegistrationSuccessPanelViewModel CreateRegistrationSuccessPanel(String username, IRegistrationViewModel window) { ParameterOverrides parameters = new ParameterOverrides() { { "username", username }, { "regwindow", window } }; return _Container.Resolve<IRegistrationSuccessPanelViewModel>(parameters); }