Как создать общий SearchDTO
который может быть использован как шаблон для любого поиска?Улучшенный поиск DTO Design
Он должен иметь любой фильтр и другую общую информацию, как TotalRecords, сортировку, страница Start Row и т.д.
public abstract class SearchDTO
{
public object Id { get; set; }
public IList<T> SearchResults { get; set; }
public int PageSize { get; set; }
public int StartRowNo
{
get
{
return (CurrentPage - 1) * PageSize;
}
}
public int CurrentPage { get; set; }
}
И любой поиск объект выглядит.
public class EmployeeSearchDTO:SearchDTO
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Но я получаю следующее сообщение об ошибке в IList<T>
собственности:
Тип или пространство имен «T» не может быть найден (вы пропали без вести с помощью директивы или ссылка на сборку?).
Как я мог указать, как returing в List of any objects
и я могу создать другое свойство, как
public long TotalRecords
{
get
{
return SearchResults.Count;
}
set;
}
есть ли лучший подход, кроме этого, чтобы решить эту проблему?
Почему добытчик и сеттеры не работают? Внутренне все геттеры будут преобразованы в методы. Ваш подход не подходит для моего дела. – Billa
Вы также можете использовать свойство, это не имело бы значения. Но в такой ситуации, когда вам нужен только геттер, нужно предпочесть использовать функцию. Таким образом, вы решили отправить некоторые параметры для поиска, вы могли бы это сделать. Если вы хотите использовать абстрактный класс, то два подхода, предложенные Сергеем и Цзинешем, верны. –