Изменения документа Генерация кода
Редактировал(а) Alexandr Fokin 2023/08/06 16:33
<
>
отредактировано Alexandr Fokin
на 2021/08/21 14:25
на 2021/08/21 14:25
отредактировано Alexandr Fokin
на 2023/08/06 16:07
на 2023/08/06 16:07
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -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 +----