Я хочу реализовать такой метод с C# 7.3, чтобы заставить некоторые объекты передачи данных соответствовать моей реализации:
public List<T> QueryOnDb<T>(DateTime dateRef) where T : baseDTO
{
string param = T.getParam();
List<string> resultJson = _context.Foo.Where(x=> x.type == param).Select(x=> x.json).ToList();
return resultJson.Select(x => JsonConvert.DeserializeObject<T>(x)).ToList();
}
Очевидно, что он не скомпилируется, потому что C# не support stati c abstract методы для абстрактного класса.
Первый обходной путь, который я попытался, - передать param в сигнатуру QueryOnDb, но я мог бы использовать T и param разные.
РЕДАКТИРОВАТЬ 1: добавлено упоминание о том, что getParam()
должен быть абстрактным.