Версия 8.3 от Alexandr Fokin на 2022/12/07 07:43

Скрыть последних авторов
Alexandr Fokin 7.1 1 **ExpressionTree** позволяет накапливать выражения, содержащие операторы языка c#, в виде древовидной структуры. А после этого скомпилировать эту структуру в делегат.
2 При этом формировать и компилировать деревья выражений можно в рантайме.
3
Alexandr Fokin 8.2 4 ----
Alexandr Fokin 7.1 5
6 **Может использоваться для:**
7 создания Generic типа с возможностью выполнять математические операции над элементами T. Например матрица <int> или <double>, в которой будет логика складывающая значения ячеек
Alexandr Fokin 8.1 8 Выполнения маппинга свойств (Как более быстрый аналог [[Рефлексия | Reflection>>Разработка.NET.C#.Рантайм и типы.Reflection | Рефлексия .WebHome]])
Alexandr Fokin 7.1 9 iqueryable провайдер, формирующий запрос во внешнее хранилище (EntityFramework SQL)
10
Alexandr Fokin 8.2 11 ----
Alexandr Fokin 7.1 12
Alexandr Fokin 8.2 13 {{children/}}
14
15 ----
16
Alexandr Fokin 7.1 17 **Ссылки:**
18
19 Деревья выражений в C# на примере нахождения производной (Expression Tree Visitor vs Pattern matching)
20 https://habr.com/ru/post/486972/
21
22 Введение в Expressions в языке C#
Alexandr Fokin 3.1 23 http://sonyks2007.blogspot.com/2014/07/expressions-c.html
Alexandr Fokin 7.1 24
25 Expression Tree. Просто о сложном
Alexandr Fokin 1.1 26 http://sonyks2007.blogspot.com/2014/08/expression-tree.html
Alexandr Fokin 7.1 27
28 Expressions в C# — impress yourself!
Alexandr Fokin 4.1 29 https://habr.com/ru/post/83169/
Alexandr Fokin 7.1 30
31 Принципы работы IQueryable и LINQ-провайдеров данных
Alexandr Fokin 3.1 32 https://habr.com/ru/post/256821/