.Net Core Как создать новый класс с помощью сервисов DI? - PullRequest
0 голосов
/ 21 июня 2019

Есть ли способ создать произвольный класс по типу (например, Activator.CreateInstance (myType) и заставить механизм .Net DI вводить зависимости для этого типа? Я не хочу регистрировать экземпляры myType, и myType может быть любого случайного типа. Я просто хочу иметь возможность обрабатывать такие случаи, как:

myType(IServiceProvider serviceProvider)

и DI вводит зависимости, как и ожидалось. Не происходит через Activator, очевидно.

1 Ответ

3 голосов
/ 21 июня 2019

Activator.CreateInstance не поддерживает это "из коробки", поскольку оно никак не связано с инъекцией зависимостей .NET Core.

Возможно, вам следует использовать ActivatorUtilities.CreateInstance для создания экземпляров подключенных типов DI.

...