У меня есть два класса:
DefectsController
public abstract class DefectsController<TDefect, TDefectService> :
ApplicationController<DefectsController<TDefect, TDefectService>, TDefect>
where TDefectService : IEntityService<TDefect>
where TDefect : Defect
{
private readonly TDefectService defectService;
public DefectsController(TDefectService defectService)
: base(defectService)
{
this.defectService = defectService;
}
}
и JobDefectsController (есть и другие части, это всего лишь примеры)
public class JobDefectsController : DefectsController<JobDefect, IEntityService<JobDefect>>
{
public JobDefectsController(EntityService<JobDefect> service)
: base(service)
{
}
}
Для некоторыхпричина, если я изменяю конструктор JobDefectsController на использование IEntityService вместо этого, тогда, если я пытаюсь получить доступ к defectService
в DefectsController, он выдает неизвестные ошибки.
Редактировать: Эта ошибка: Количество предоставленных общих аргументов не равно арностиопределения общего типа.
Имя параметра: экземпляр
Раньше существовал класс с именем JobDefectsService
, унаследованный от IEntityService<JobDefect>
, и интерфейс этого (IJobDefectService
) мог использоваться вместоIEntityService<JobDefect>
и EntityService<JobDefect>
без проблем.
Кто-нибудь может понять, в чем проблема?
Спасибо,
Гарольд