есть ли в любом случае использовать ServiceProvider.GetService () с отражением в ядре .net? - PullRequest
0 голосов
/ 23 декабря 2019

Вот мой класс.

public class DemoJob : IJob
{
    private readonly ILogger logger;
    public DemoJob(ILogger<SecondJob> logger)
    {
        this.logger = logger;
    }

    public async Task Execute(IJobExecutionContext context)
    {
        await Task.Run(() =>
        {
            Console.WriteLine(context.JobDetail.JobType.FullName);
            logger.LogError(context.JobDetail.JobType.FullName);
        });
    }
}

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

var service = serviceProvider.GetService(typeof(DemoJob))

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

var jobType = assembly.GetType("xxxx.SecondJob")
var service = serviceProvider.GetService(jobType)

service всегда возвращает нулевое значение. Там в любом случае?

1 Ответ

0 голосов
/ 23 декабря 2019

В этом случае вы можете использовать Type.GetType () вместо someType.GetType (). Помогите мне решить вопрос. Спасибо @ KevinGosse

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