Я реализую наивный поиск в моем приложении, и поиск будет осуществляться по паре различных типов объектов (Клиент, Назначение, Активность и т. Д.). Я пытаюсь создать интерфейс, который будет иметь типы для поиска. Я хотел бы сделать что-то вроде этого:
public interface ISearchable
{
// Contains the 'at a glance' info from this object
// to show in the search results UI
string SearchDisplay { get; }
// Constructs the various ORM Criteria objects for searching the through
// the numerous fields on the object, excluding ones we don't want values
// from then calls that against the ORM and returns the results
static IEnumerable<ISearchable> Search(string searchFor);
}
У меня уже есть конкретная реализация этого на одном из объектов моей доменной модели, но я бы хотел распространить его на другие.
Проблема очевидна: у вас не может быть статических методов в интерфейсе. Есть ли другой предписанный метод для достижения того, что я ищу, или есть обходной путь?