【发布时间】:2021-11-02 16:15:14
【问题描述】:
我是 Core/Azure Functions 的新手,正在尝试使用 DI 容器添加依赖项。
我想将类/接口依赖添加到 DI Container:
s.AddSingleton<ITicketService>(new TicketService());
s.AddSingleton<IFoodService>(new FoodService());
s.AddSingleton<IFinancialsService>(new FinancialsService());
对于以上三个类/接口,我该如何处理它们依赖于存储库类。
s.AddSingleton<ITicketService>(new TicketService(ITicketRepository));
s.AddSingleton<IFoodService>(new FoodService(IFoodRepository));
s.AddSingleton<IFinancialsService>(
new FinancialsService(ITicketRepository,IFoodRepository));
以下是这些类和接口的相关代码:
public interface ITicketService { ... }
public interface IFoodService { ... }
public interface IFinancialsService { ... }
public class TicketService : ITicketService
{
private readonly ITicketRepository _ticketRepo;
public TicketService(ITicketRepository ticketRepo) => _ticketRepo = ticketRepo;
}
public class FoodService : IFoodService
{
private readonly IFoodRepository _foodRepo;
public FoodService(IFoodRepository foodRepo) => _foodRepo = foodRepo;
}
public class FinancialsService : IFinancialsService
{
private readonly ITicketRepository _ticketRepo;
private readonly IFoodRepository _foodRepo;
public FinancialsService(ITicketRepository ticketRepo, IFoodRepository foodRepo)
{
_ticketRepo = ticketRepo;
_foodRepo = foodRepo;
}
public FinancialStats GetStats() ...
}
任何工作示例都将受到赞赏。
【问题讨论】:
标签: c# asp.net-core dependency-injection interface azure-functions