Зарегистрируйте все модели просмотра в качестве именованных сервисов в Autofac - PullRequest
0 голосов
/ 01 декабря 2018

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

builder.RegisterAssemblyTypes(Assembly.GetCallingAssembly())
    .Where(t => t.Name.EndsWith("ViewModel"))
    .AsImplementedInterfaces();

Я смотрел, как работает разрешение по имени в Autofac:

builder.RegisterType<XViewModel>().Named<IXViewModel>("XViewModel");

var r = container.ResolveNamed<IXViewModel>("XViewModel");

, но для меня это выглядело так, как будто именные регистрации должны были быть сделаны вручную для каждой службы.

Есть ли способ упростить этот процесс, чтобы я мог использовать одну строку для регистрации всех типов сборок в качестве именованных служб (каждая служба будет разрешаться по имени модели представления)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...