Получите типы свойств универсального типа для использования в выражении.C#

Место общения программистов C#
Ответить
Anonymous
 Получите типы свойств универсального типа для использования в выражении.

Сообщение Anonymous »

У меня есть метод как часть универсального класса для использования в контексте запроса коллекции объектов, где встречается логическое предложение в выражении, а результат упорядочен по некоторому свойству типа объекта. p>
Текущая сигнатура метода:

Код: Выделить всё

Task GetFirstWhere(Expression whereExp, Expression orderByExp)
Пример реализации:

Код: Выделить всё

public async Task GetFirstWhere(Expression whereExp, Expression orderByExp) {
return await _entities.Where(whereExp)
.OrderByDescending(orderByExp)  // I would like to use any valid orderByExp type here
.FirstOrDefaultAsync();
}
Для использования в таких сценариях, как:

Код: Выделить всё

var foundArticleTag = await _tags.GetFirstWhere(
tag => tag.Name == articleTag,
tag => tag.CreatedOn);
Я бы хотел, чтобы функция orderByExp использовала любой допустимый тип свойства T, а не явно DateTime. Я бы предпочел не делать тип динамическим, чтобы можно было использовать только допустимые типы свойств T. Я предполагаю, что для этого необходимо отражение, хотя я не уверен, как обеспечить соблюдение ограничения типа.


Подробнее здесь: https://stackoverflow.com/questions/626 ... expression
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»