Исходный код вики Генерация кода

Версия 2.6 от Alexandr Fokin на 2023/08/06 16:07

Последние авторы
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 )))
14
15 ----
16
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 ----