Имеется следующий код:
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".