У меня есть пара классов, которые принимают 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));