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

Редактировал(а) Alexandr Fokin 2023/08/06 16:33

<
От версии < 2.3 >
отредактировано Alexandr Fokin
на 2022/12/03 10:42
К версии < 2.6 >
отредактировано Alexandr Fokin
на 2023/08/06 16:07
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,6 +1,37 @@
1 -Source generators
1 +|(% style="width:108px" %) |(% style="width:1376px" %)Генерация кода, SourceGenerators, Source generators, SourceGenerator, SourceGenerator
2 +|(% style="width:108px" %)Описания|(% style="width:1376px" %)(((
3 +* Позволяет использовать преимущества динамического формирования кода (схожего с [[Reflection | Рефлексия>>doc:Разработка.NET.C#.Рантайм и типы.Reflection | Рефлексия .WebHome]]), при том что сам этап генерации происходит в момент сборки приложения.
4 +* Позволяет увидеть динамический (сгенерированный) код.
5 +* Позволяет выполнить проверки типов на этапе компиляции для генерируемого кода (что не возможно при других подходах).
6 +* Производительность кода равна коду, написанному вручную (т.к. генерация идет в момент сборки, а не в рантайме).
7 +)))
8 +|(% style="width:108px" %)Материалы|(% style="width:1376px" %)(((
9 +|Олег Сафонов — Пишем код, когда пишем код: source generator'ы
10 +[[https:~~/~~/www.youtube.com/watch?v=wtGTxRDSQz4>>https://www.youtube.com/watch?v=wtGTxRDSQz4]]
11 +|Роман Щербаков «C# 9.0 Source Generators»
12 +https://www.youtube.com/watch?v=Xeuewv-5nOA
13 +)))
2 2  
3 3  ----
4 4  
5 -Роман Щербаков «C# 9.0 Source Generators»
6 -https://www.youtube.com/watch?v=Xeuewv-5nOA
17 +==== Внутренние ссылки: ====
18 +
19 +====== Дочерние страницы: ======
20 +
21 +{{children/}}
22 +
23 +====== Обратные ссылки: ======
24 +
25 +{{velocity}}
26 +#set ($links = $doc.getBacklinks())
27 +#if ($links.size() > 0)
28 + #foreach ($docname in $links)
29 + #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
30 + * [[$escapetool.xml($rdoc.fullName)]]
31 + #end
32 +#else
33 + No back links for this page!
34 +#end
35 +{{/velocity}}
36 +
37 +----