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

Mugen Injection [Типы отношений]

Зависимости с типами которые указаны ниже интерпретируются особым образом. Например, когда вы запрашиваете тип IEnumerable <IBeta>, если MugenInjection не найден тип заданный явно, он создаст новую коллекцию и заполнит ее всеми доступными компонентами типа IBeta.

Неявные типы отношений

Отношение Тип Смысл
Alpha нуждается в Beta Beta Зависимость
Alpha нуждается в Beta в будущем Lazy<Beta>, CustomLazy<Beta> Отложенная инициализация
Alpha нуждается в Beta до какого-то момента Managed<Beta>, CustomManaged<Beta> Контролируемый жизненный цикл
Alpha нуждается в Beta до какого-то момента UoW<Beta>, CustomUoW<Beta> Контролируемый жизненный цикл
Alpha нуждается в создании Beta Func<Beta>, CustomFunc<Beta> Динамическое создание
Alpha нуждается в создании Beta с параметрами Func<P1, P2, Beta> Динамическое создание с параметрами
Alpha нуждается в создании Beta со специальными параметрами Func<ISettings, Beta> Динамическое создание со специальными параметрами
Alpha нуждается во всех экземлярах Beta IEnumerable<Beta>, IList<Beta>, List<Beta>, ICollection<Beta>, ICustomCollection<Beta> Коллекция
Alpha нуждается в Beta с метаинформацией WithSettings<Beta>, WithCustomSettings<Beta> Метаинформация

Для перекрытия этого поведения вам нужно зарегистрировать компонент явно

Составные типы

Все типы отношений могут быть составными:
IEnumerable<Func<Managed<Beta>>>
Интерпретируется правильно:
  • Создание всех экземляров
  • фабрики, которая возвращает
  • контролируемые
  • Beta компоненты

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