как ресолвить не передавая ссылки на контейнер ( DI )
От: okon  
Дата: 19.05.18 04:20
Оценка:
Пишут что передавать ссылку на IContainer плохо,
а как быть если нужно в процессе вычислений создать экземпляр класса и проинициализировать его поля, например с передачей контейнера, например
class A
{
   IContainer container;

   A( IContainer container )
   {
      this.container = container;
   }

   IEnumerable<B> CalculateSomething()
   {
      return Enumerable.Range(1,100).Select( i => container.Resolve<B>(new TypedParameter(type(int), i));
   }
}



Как такие сценарии правильно строятся без передачи и хранения ссылок на контейнеры ?
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.