Описание тега expression-trees

Деревья выражений - это абстрактное представление кода в древовидной структуре, где каждый узел дерева представляет программную конструкцию (условное, присваивание, вызов метода и т. Д.)
2 ответа

Используйте string.Compare(a, b) в выражении

Со вчерашнего дня я обучаю себя деревьям выражений, и у меня возникают проблемы при сравнении двух строковых значений. Я сделал этот контрольный пример, который завершается с ошибкой: No method 'Compare' on type 'System.String' is compatible with th…
10 май '12 в 18:29
1 ответ

Подключение к HttpApplication.BeginRequest с обработчиком, сгенерированным во время выполнения, вызывает исключение NullReference

После подключения к событию HttpApplication.BeginRequest (и некоторым другим событиям HttpApplication) с созданным во время выполнения делегатом, таким как var expr = Expression.Lambda<EventHandler>(Expression.Empty(), new[] { Expression.Param…
16 мар '14 в 22:56
1 ответ

Массив arg Expression<Func <object >> как часть свободного интерфейса

Рассмотрим такой интерфейс: new Provider().For(myClass).ExcludeProperties("Height", "Width"); public IEditableStateProvider For(object target) {...} public IEditableStateProvider ExcludePropertyNames(params string[] propertyNames) {...} Я хочу замен…
08 фев '13 в 13:13
1 ответ

Linq OrderBy, учитывая несколько столбцов, приоритетный порядок и направление сортировки

У меня есть IEnumerable для спецификации порядка множественной сортировки, где: public class Specification { public string Column { get; set; } public OrderByDirection Direction { get; set; } public int Priority { get; set; } } Тогда у меня есть еще…
25 авг '17 в 15:21
3 ответа

Как "отменить кавычки" при создании дерева выражений из лямбды?

Давайте предположим, что у меня есть какая-то функция c это возвращение Expression: Func&lt;int, Expression&lt;Func&lt;int&gt;&gt;&gt; c = (int a) =&gt; () =&gt; a + 3; Теперь я хочу создать еще один Expression, но при его создании я бы хотел вызват…
25 ноя '16 в 17:47
3 ответа

Как динамически создать метод предиката из дерева выражений?

Вот сценарий: Silverlight 4.0, DataGrid, источник элементов PagedCollectionView. Цель состоит в том, чтобы применить фильтр к PCV. Фильтр должен быть Predicate&lt;object&gt;(Method) - где Method реализует некоторую логику для объекта и возвращает tr…
0 ответов

Конкатенация строк с процедурами внутри выражения в Linq-to-Entities

Позвольте мне начать с вопроса, пожалуйста, не отвечайте "используйте AsEnumerable или ToList раньше", это приведет к получению данных в память, а затем к порядку. Поскольку я намерен использовать один и тот же код для динамического применения фильт…
05 апр '15 в 22:41
2 ответа

Оценка выражения, хранящегося в виде строки

Я хочу сохранить логическое выражение в базе данных и оценить его. Нет необходимости хранить полное дерево выражений, вероятно, это делают строки. Я представил себе такую ​​схему: Criteria (expression_to_evaluate, value_to_return) Например, предполо…
24 авг '10 в 09:24
1 ответ

Выражение для сопоставления одного объекта другому с одинаковыми свойствами

Я пытаюсь создать простой картограф с помощью Expression по этому коду: public static class MyUtility { public static Action&lt;TSource, TTarget&gt; BuildMapAction&lt;TSource, TTarget&gt;(IEnumerable&lt;PropertyMap&gt; properties) { var sourceInstan…
22 окт '17 в 08:36
1 ответ

Общее выражение для предложения where - "Тип LINQ-выражения" Invoke "не поддерживается в LINQ to Entities".

Я пытаюсь написать действительно общий способ загрузки сущностей EF в пакетах, используя метод Contains для генерации оператора SQL IN. У меня это работает, если я передаю все выражение целиком, но когда я пытаюсь построить выражение динамически, я …
2 ответа

Будет ли здесь работать дерево выражений?

У меня есть метод ниже, который я в настоящее время использую, чтобы получить длину БД определенных строковых полей (каждое свойство имеет атрибут MetaDataFieldAttribute). Кажется, что он работает хорошо, однако он очень "строчно" набирается с имене…
31 мар '16 в 13:10
2 ответа

Как вручную построить Expression, которая всегда будет возвращать true?

Я пытался создать Expression, но не смог. Я хочу построить что-то вроде Expression&lt;Func&lt;typeof(type), bool&gt;&gt; expression = _ =&gt; true; Моя попытка: private static Expression GetTrueExpression(Type type) { LabelTarget returnTarget = Expr…
21 апр '16 в 14:51
2 ответа

Деревья выражения как бинарные деревья

У меня простой вопрос. Почему все деревья выражений смоделированы как "двоичные деревья", а не как "N-деревья"? Есть ли причина, по которой выражение не может быть смоделировано с использованием N-арного дерева?
15 авг '13 в 18:45
1 ответ

Динамическое множественное предложение где в linq C#

У меня есть запрос запроса с использованием linq. В запросе есть несколько выражений where, где указывается возвращаемый список элементов, соответствующих имени и городу. Ниже приведен фрагмент кода, который я использовал для предложения множественн…
2 ответа

Как определить выражение LINQ из общего делегата Func?

Скажем, у меня есть метод с входным параметром с именем collectionSelector типа Func&lt;TEntity, ICollection&lt;TCollection&gt;&gt;, Я хотел бы использовать этот входной параметр для загрузки объектов EF, используя этот метод на экземпляре DbContext…
08 дек '11 в 10:41
1 ответ

Дерево выражений для построения результатов подбора

Я пытаюсь построить подзапрос, используя деревья выражений. В linq я бы написал что-то вроде: var single = MyTable .AsExpandable() .Select(c =&gt; new { Childs = Enumerable.Select( MyTable.VisibleChilds.Invoke(c, dbContext), cc =&gt; Convert(cfg.Chi…
12 апр '17 в 16:58
1 ответ

Создать выражение из строки (нулевая ссылка)

Вот проблема: Мы используем объект таблицы, чтобы позволить пользователям выполнять некоторые функции, такие как поиск, сортировка, разбиение на страницы и т. Д. Эти таблицы прекрасно работают. Но есть проблема с одной из функциональных возможностей…
2 ответа

Динамическое добавление GroupBy к лямбда-выражению

Хорошо, я признаю, что я еще не совсем "получил" лямбда-выражения и деревья выражений LINQ; многое из того, что я делаю, это вырезать, вставлять и смотреть, что работает. Я просмотрел много документации, но я все еще не нашел свой момент "ага". С эт…
07 окт '10 в 22:05
2 ответа

Как составить выражение до фактического результата?

Я строю API на основе вызова веб-службы, используя выражения, чтобы позволить разработчику указать запрос и заставить ExpressionVisitor преобразовать выражение в строку запроса. Запрос представляет собой XML с конкретным элементом, содержащим строку…
09 авг '11 в 18:15
0 ответов

Есть ли планы добавить что-то вроде деревьев выражений C# в будущих версиях Java?

В C# есть действительно классная вещь, такая как Expression Trees. На мой взгляд, эта функция была бы чрезвычайно полезна в Java, но я не слышал разговоров о планах добавить что-то подобное в Java. Мне интересно, есть ли обсуждение в сообществе Java…
07 авг '13 в 07:46