About .NET, ASP.NET, MVC, C#, WPF, WCF and everything related to .NET and more.

Mugen Injection [Передача параметров]

Все методы для активации компонентов принимают массив параметров (params IInjectionParameter[]). Параметры автоматически отображаются в свойства, аргументы конструктора или метода, при условии, что они были зарегистрированы с использованием рефлексии. Пример того, как параметр отобразится в аргумент конструктора используя имя аргумента конструктора:

public class Alpha
{
    public Alpha(string test)
    {
        
    }
}

var alpha = _injector.Get<Alpha>(new ConstructorParameter("test", "test"));
var enumerable = _injector.GetAll<Alpha>(new ConstructorParameter("test", "test"));

Доступные типы параметров

Все параметры реализуют интерфейс IInjectionParameter и вы легко можете расширить этот список, добавив свою реализацию.
MugenInjection предлагает несколько различных параметров:
  • ConstructorParameter - представляет аргумент конструктора.
  • PropertyParameter - представляет значение свойства.
  • MethodParameter - представляет аргумент метода.
  • InjectionParameter - базовый класс для параметров.
Стратегия выбора параметров для ConstructorParameter, PropertyParameter and MethodParameter зависит от того, какие параметры вы передадите в конструктор при создании параметра. Она может зависеть от позиции параметра (ConstructorParameter, MethodParameter), от имени параметра (все типы параметров) или типа параметра (все типы параметров).
Стратегия выбора параметра для InjectionParameter полностью зависит от вас, при создании параметра вы передаете делегат, который отвечает за условие выбора.

Комментарии
Оставить комментарий
*bold*
_italics_
+underline+
* Bullet List
** Bullet List 2
# Number List
## Number List 2
{"Do not apply formatting"}
{code:language} code here {code:language}.
Supports: aspx c#, c#, c++, html, sql, xml
[url:http://www.example.com]