Autofac получить тип сервиса внутри ResolvedParameter valueAccessor - PullRequest
0 голосов
/ 09 ноября 2018

Чтобы иметь возможность правильно разрешить объект для параметра конструктора, Мне нужно знать тип услуги, которую я регистрирую, поскольку в моем случае я регистрирую несколько типов из разных сборок. Я не нашел способа получить к нему доступ через контекст регистрации, так как фактическая активация не является публичной собственностью. Пример регистрации ниже:

builder
                    .RegisterAssemblyTypes(_assemblies)
                    .AsClosedTypesOf(typeof(IValidationPolicy<,>))
                    .WithParameters(new Parameter[]
                    {
                        new ResolvedParameter((p,c)=>p.Position==0,
                            (p, c) =>
                            {
                             //I need service type here

Я что-то упустил или это ограничение Autofac?

1 Ответ

0 голосов
/ 09 ноября 2018

я думаю p.Member.DeclaringType должен сделать свое дело. Member свойство - это метод / ctor, для которого разрешен параметр. DeclaringType свойство - это тип, в котором объявлен метод / ctor.

...