Выражения <func>? - PullRequest
       5

Выражения <func>?

1 голос
/ 11 апреля 2011

Может кто-нибудь объяснить, что толку от expressions<func>?

Ответы [ 4 ]

2 голосов
/ 11 апреля 2011

Я собираюсь предположить, что вы имеете в виду Expression<Func>, где Func - это любой вариант универсального делегата Func.

Если это так, то, что Expression<Func> делает, этополучить дерево выражения лямбды, которое вы передаете на его место.Это чаще всего встречается в вариантах IQueryable<T> или во многих свободно распространяемых интерфейсах.

Деревья выражений используются во время выполнения для общего перевода лямбда-выражения в какой-то другой формат.Например, SQL в случае LINQ to SQL.

Подробнее о Expression и о деревьях выражений в .NET

можно прочитать подробнее
0 голосов
/ 11 апреля 2011

Вы можете начать здесь

Лямбда-выражение является анонимным функция, которая может содержать выражения и заявления, и могут быть использованы для создать делегатов или дерево выражений типы.

0 голосов
/ 11 апреля 2011

Из MSDN:

Представляет строго типизированное лямбда-выражение в виде структуры данных в виде дерева выражений

Вот реальный пример его использования, которыйпоказывает, почему это полезно: http://www.albahari.com/nutshell/predicatebuilder.aspx

0 голосов
/ 11 апреля 2011

Expression trees represent code in a tree-like data structure, where each node is an expression, for example, a method call or a binary operation such as x < y

Вы можете прочитать больше в этой статье .

...