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

Mugen Injection [Регистрация зависимостей]

Все зависимости регистрируются с использованием IInjectorBinder.
Зависимости могут быть созданы с помощью выражений (lambda expressions), рефлексии, делегата или путем предоставления готового экземпляра.
У вас есть два способа зарегистрировать зависимость, используя метод Bind или BindWithManualBuild. Методы совершают одинаковы операции, но разница лишь в том ,как они будут создавать binding. Метод Bind автоматически создаст binding и добавит его в IInjectorBinder при его запросе.
Пример кода:

// Create your MugenInjector.
_injector = new MugenInjector();

//Registering dependency use a Bind method.
_injector.Bind<IWriter>().To<ConsoleWriter>();
Этот метод не является потоко-безопасны, потому что, другой поток, может запросить сервис. в тот момент, когда вы не завершили, его настройку и вы получите не правильный binding.
Для решения этой проблемы есть метод BindWithManualBuild. При работе с этим методом, вы должны сами указать, когда он может добавить binding в IInjectorBinder.
Пример кода:
// Create your MugenInjector.
_injector = new MugenInjector();

//Registering dependency use a BindWithManualBuild method.
_injector.BindWithManualBuild<IWriter>().To<ConsoleWriter>().Build();
Метод BindWithManualBuild является потоко-безопасным.

Комментарии
Оставить комментарий
*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]