Какова цель передачи параметра конструктора apicontroller в виде делегата Fun c <>? - PullRequest
0 голосов
/ 13 апреля 2020

У нас есть некоторый код, которым мы теперь владеем, который изначально был написан поставщиком. Это. NET проект WebApi, который является расширением. То есть основное приложение API передает запуск этому модулю, чтобы он регистрировал себя и зависимости, он использует Autofa c для DI.

Конструкторы ApiContoller написаны так:

publi c Fun c ProductService {get; приватный набор; } publi c Fun c AccountService {get; приватный набор; }

    public ProductController(Func<IProductService> productService, Func<IAccountService> accountService)
    {

        AccountService = accountService;
        ProductService = productService;
    }

, а затем методы вызываются в другом месте, например:

    ProductService().AddItem(item);

Я нашел несколько подобных вопросов здесь, но они были более направлены на конкретную c проблему , У меня вопрос, что может быть целью для этого? Я понимаю использование делегата для инкапсуляции функции, но это указывает на экземпляр типа. Есть ли разница в способе его создания, возможно? Спасибо за любой отзыв.

...