Изменения документа Сценарии

Редактировал(а) Alexandr Fokin 2025/05/13 13:04

От версии 1.7
отредактировано Alexandr Fokin
на 2022/12/07 07:43
Изменить комментарий: Update document after refactoring.
К версии 2.3
отредактировано Alexandr Fokin
на 2023/05/31 09:56
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,7 +1,8 @@
1 1  |(% style="width:432px" %)Компиляция дерева в делегат|(% style="width:1061px" %){{code language="c#"}}Expression
2 2   .Lambda(expressionValiarble)
3 3   .Compile();{{/code}}
4 -|(% style="width:432px" %)Простое копирование свойств одного класса в другой|(% style="width:1061px" %)[[Простое копирование свойств одного класса в другой>>doc:.Простое копирование свойств одного класса в другой.WebHome]]
4 +|(% style="width:432px" %)[[Простое копирование свойств одного класса в другой>>doc:Разработка.NET.C#.Рантайм и типы.Expression tree | Деревья выражений.Сценарии.Простое копирование свойств одного класса в другой.WebHome]]|(% style="width:1061px" %)
5 +|(% style="width:432px" %)[[Маппинг на основе выражения доступа к свойству>>doc:.Маппинг на основе выражения доступа к свойству.WebHome]]|(% style="width:1061px" %)
5 5  |(% style="width:432px" %)Вызов делегата при построении EpressionTree|(% style="width:1061px" %)Expression Trees and Invoking a Delegate
6 6  [[https:~~/~~/stackoverflow.com/questions/2215712/expression-trees-and-invoking-a-delegate>>url:https://stackoverflow.com/questions/2215712/expression-trees-and-invoking-a-delegate]]
7 7  |(% style="width:432px" %)Объявлений локальной переменной в блоке (без передачи извне)|(% style="width:1061px" %)(((
... ... @@ -18,7 +18,18 @@
18 18  How do I set a field value in an C# Expression tree?
19 19  [[https:~~/~~/stackoverflow.com/questions/321650/how-do-i-set-a-field-value-in-an-c-sharp-expression-tree>>https://stackoverflow.com/questions/321650/how-do-i-set-a-field-value-in-an-c-sharp-expression-tree]]
20 20  )))
22 +|(% style="width:432px" %)Вызов конструктора|(% style="width:1061px" %){{code language="c#"}}var constructorInfo = t.GetConstructors().First(e => e.Attributes.HasFlag(MethodAttributes.Public));
23 +var constructorParameter1 = Expression.Parameter(typeof(bool));
24 +var constructorExp = Expression.New(constructorInfo, constructorParameter1);
21 21  
26 +// Func<bool, object> or Func<bool, T>
27 +var constructorDelegate = Expression
28 + .Lambda<Func<bool, object>>(
29 + constructorExp,
30 + deletedParameter
31 + )
32 + .Compile();{{/code}}
33 +
22 22  ==== ====
23 23  
24 24  ==== ====
... ... @@ -36,4 +36,3 @@
36 36  
37 37  ----
38 38  
39 -