Задать вопрос

Ошибка при имплементации Generic интерфейса в C#. Как решить?

Имеется следующий код:
public interface IRequest<out TResponse>{}

public interface IPagedRequest<out TResponse>: IRequest<IPagedList<TResponse>> { 
    int Page { get; set; } 
    int PageSize { get; set; }
}

public interface IRequestHandler<in TRequest, TResponse> where TRequest : class, IRequest<TResponse> {
    Task<TResponse> HandleAsync(TRequest request, CancellationToken cancellationToken = default(CancellationToken));
}


Необходимо добавить декоратор для обработки запросов с пагинацией. Я делаю следующее:
public class PagedRequestHandler<TRequest, TResponse> : IRequestHandler<TRequest, TResponse> where TRequest : class, IPagedRequest<TResponse> {
    // ...
}


На что компилятор отвечает следующей ошибкой: "The type TRequest must be convertable to IRequest in order to use it as parameter TRequest in the generic interface IRequestHandler".
  • Вопрос задан
  • 125 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • XYZ School
    C# для разработки игр
    5 месяцев
    Далее
  • Учебный центр IBS
    DEV-001_NET Шаблоны проектирования GoF. Редакция для .NET
    1 неделя
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы