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

Mugen Injection [Условия для зависимостей]

Когда вы регистрируете компонент, вы можете задать условие, при котором, этот компонент, будет считаться подходящим для активации.
Список всех доступных условий:

  • WhenInto - указывает, что привязка должна использоваться только для инъекций в указанный тип. Типы, которые достижимы из указанного типа считаются не подходящими под условие.
  • WhenIntoIsAssignable - указывает, что привязка должна использоваться только для инъекций в указанный тип. Типы, которые достижимы из указанного типа считаются подходящими под условие.
  • WhenNamespaceEqual -указывает, что привязка должна использоваться только для инъекций в тип, когда пространство имен равны.
  • WhenClassHasAttribute - указывает, что привязка должна использоваться только тогда, когда класс, имеет атрибут указанного типа.
  • When - указывает, что привязка должна быть использована только для запросов, которые поддерживают указанное условие.
Пример кода:
// Create your MugenInjector.
_injector = new MugenInjector();
_injector.Bind<Alpha>().ToSelf().WhenInto<Program>();
_injector.Bind<Alpha>().ToSelf().WhenIntoIsAssignable<Alpha>();
_injector.Bind<Alpha>().ToSelf().WhenClassHasAttribute<SerializableAttribute>();
_injector.Bind<Alpha>().ToSelf().WhenNamespaceEqual("Test");
_injector.Bind<Alpha>()
            .ToSelf()
            .When(context => context.TypeInto != null && context.TypeInto.FullName.StartsWith("S"));

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