При использовании инъекции зависимостей, как создать объект, когда конструктор имеет сервис и нуждается в значении времеC#

Место общения программистов C#
Ответить
Anonymous
 При использовании инъекции зависимостей, как создать объект, когда конструктор имеет сервис и нуждается в значении време

Сообщение Anonymous »

У меня есть класс, который выглядит так: < /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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»