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

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

<
От версии < 2.1 >
отредактировано Alexandr Fokin
на 2021/08/21 14:25
К версии < 2.6 >
отредактировано Alexandr Fokin
на 2023/08/06 16:07
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.NET.C#.WebHome
1 +Разработка.NET.C#.Рантайм и типы.WebHome
Содержимое
... ... @@ -1,3 +1,37 @@
1 -
2 -Роман Щербаков «C# 9.0 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»
3 3  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 +----