IoC设置和继承类的问题
本文关键字:问题 继承 设置 IoC | 更新日期: 2023-09-27 18:13:08
我对IoC模式相当陌生,我在设置以下模式的方式上遇到了一个问题。
我有一个Service类,它有以下构造函数:
public BookingService(IBookingRepository bookingRepository, IUnitRepository unitRepository, IRateRepository rateRepository, IDiscountRepository discountRepository, IUnitOfWork unitOfWork)
{
this.bookingRepository = bookingRepository;
this.unitRepository = unitRepository;
this.rateRepository = rateRepository;
this.discountRepository = discountRepository;
this.unitOfWork = unitOfWork;
}
现在我已经让这个和我的控制器一起工作了,像这样:
private IBookingService _bookingService;
public AdminBookingSurfaceController(IBookingService bookingService)
{
_bookingService = bookingService;
}
我卡住的地方是在第三方框架(Umbraco)的继承类中使用BookingService。
这是当前构造函数:
public class Freedom2BookTree : umbraco.cms.presentation.Trees.BaseTree
{
public Freedom2BookTree(string application)
: base(application)
{
}
我不确定IoC将如何处理这个,我尝试了这样做,但它没有工作:
例如,当我添加额外的参数时,构造函数永远不会被调用public class Freedom2BookTree : umbraco.cms.presentation.Trees.BaseTree
{
private IBookingService _bookingService;
public Freedom2BookTree(string application, IBookingService bookingService)
: base(application)
{
_bookingService = bookingService;
}
如果有人能就如何做到这一点提供一些建议,或者如果我以错误的方式看待它,那就太好了:)
许多谢谢,汤姆可能该框架只执行带有特定参数的构造函数。
您可以在Freedom2BookTree
上创建IBookingService
属性,并在构造函数外部分配它。