Я хотел бы иметь один интерфейс для всех моих задач, связанных с сеткой. Задачи реализуют этот интерфейс:
public interface IDataForGrid<T>
{
IGridResponse<T> GetList(IGridRequest request);
}
Тип T всегда является классом DTO. Я не могу создать общий интерфейс для этих DTO, потому что у них нет ничего общего. Просто тупой DTO с определенными свойствами.
Я бы хотел использовать это так:
public class Service1
{
public IGridResponse CreateResponse(IGridRequest request)
{
...
IDataForGrid<T> aa;
if(request == 1) aa = new CustomerGridData;
if(request == 2) aa = new OrderGridData;
var coll = aa.GetList();
}
}
public class CustomerGridData : IDataForGrid<CustomerDTO>
{
...
}
Проблема в том, что я не знаю, что поставить вместо T.