Autofac: Как мне зарегистрировать общие коллекции? - PullRequest
0 голосов
/ 26 августа 2018

У меня есть пара классов, которые принимают IList<IHero> в конструкторе.Я хотел бы зарегистрировать универсальную коллекцию List<IHero> в Autofac, чтобы всякий раз, когда Autofac требуется разрешить службу, которая принимает IList<IHero, он возвращает новый экземпляр List<IHero>.Код ниже компилируется, но я получаю тонну сообщений об ошибках во время выполнения.

builder.RegisterType<List<IHero>>().As<IList<IHero>>();

Мой текущий обходной путь выглядит следующим образом:

var printer = scope.Reseolve<IPrinter>(new TypedParameter(typeof(IList<IHero>), new List<IHero>();

var newEngine = scope.Resolve<IEngine>(new TypedParameter(typeof(IPrinter), printer));

1 Ответ

0 голосов
/ 26 августа 2018

Не регистрируйте коллекции самостоятельно. Autofac обрабатывает коллекции для вас.

...