У меня есть класс, который выглядит так: < /p>
public class MyWebException:Exception,IMyWebException {
private ctx;
public MyWebException(HttpContextAccessor httpContext, string message){
ctx=httpContext;
}
}
< /code>
HttpContextAccorsor - это зарегистрированная служба в контейнере служб. < /li>
Сообщение предоставляется разработчиком для пользовательских исключений . < /li>
Базовый объект исключения не имеет конструкторов без параметра, поэтому мне нужно предоставить ему сообщение при создании. < /li>
< /ol>
< P> Есть предложения? ActivatorUtilities.CreateInstance(services.BuildServiceProvider(),typeof(IMyWebException),new object[] {message}); < /code>
не работает. Я бы подумал, что когда DI создает объект, DI увидит, что 1 параметр находится в контейнере служб, а другой параметр - это параметр времени проектирования, настраиваемый разработчиком, который использует этот тип исключения.
Подробнее здесь: https://stackoverflow.com/questions/794 ... structor-h
Мобильная версия