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

Mugen Injection [Дочерние контейнеры]

Иногда бывает необходимо, чтобы отдельные части приложения, были отделены, для того, чтобы избежать дублирования Bindings. Или для того, чтобы, какая-то часть приложения не оказывала влияние на другую. В этом случае вы можете использовать дочерние контейнеры, которые перенаправляют неизвестные запросы в родительский контейнер.
Пример кода:

// Create your MugenInjector.
_injector = new MugenInjector();
_injector.Bind<string>().ToConstant("parent");
_injector.Bind<string>().ToConstant("parentNamed").NamedBinding("parent");
using (var child = _injector.CreateChild())
{
    //_injector contains child
_injector.ChildInjectors.Contains(child);
    //injector equals to _injector
var injector = child.GetParent();
child.Bind<string>().ToConstant("child");

//s equals to "child"
var s = child.Get<string>();
//parent equals to "parentNamed" because child doesn't has a named binding with name = "parent"
var parent = child.Get<string>("parent");
}
Когда родительский контейнер будет уничтожен, он уничтожит все дочерние контейнеры.

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