Изменения документа Генерация кода
Редактировал(а) Alexandr Fokin 2023/08/06 16:33
<
>
отредактировано Alexandr Fokin
на 2023/08/06 16:32
на 2023/08/06 16:32
отредактировано Alexandr Fokin
на 2022/12/12 11:58
на 2022/12/12 11:58
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,24 +1,9 @@ 1 -|(% style="width:108px" %) |(% style="width:1376px" %)Генерация кода, SourceGenerators, Source generators, SourceGenerator, SourceGenerator 2 -|(% style="width:108px" %) |(% style="width:1376px" %)[[Roslyn>>doc:Разработка.NET.Работа со сборками и исходниками.Roslyn.WebHome]] 3 -|(% style="width:108px" %)Описания|(% style="width:1376px" %)((( 4 -* Позволяет использовать преимущества динамического формирования кода (схожего с [[Reflection | Рефлексия>>doc:Разработка.NET.C#.Рантайм и типы.Reflection | Рефлексия .WebHome]]), при том что сам этап генерации происходит в момент сборки приложения. 5 -* Позволяет увидеть динамический (сгенерированный) код. 6 -* Позволяет выполнить проверки типов на этапе компиляции для генерируемого кода (что не возможно при других подходах). 7 -* Производительность кода равна коду, написанному вручную (т.к. генерация идет в момент сборки, а не в рантайме). 8 -))) 9 -|(% style="width:108px" %)Минусы|(% style="width:1376px" %)((( 10 -* Некоторые моменты инструмента еще сырые (поддержка на уровне IDE). 11 -* Некоторая сложность тестирования. 12 -* Написание и хранения блоков кода в виде строк может быть не очень удобной. 13 -* Сложность разработки и быстрого изменения выше, чем при использовании рефлексии. 14 -(В том числе необходимость учитывать разные варианты объявления элементов кода). 15 -))) 16 -|(% style="width:108px" %)Материалы|(% style="width:1376px" %)((( 17 -|Олег Сафонов — Пишем код, когда пишем код: source generator'ы 18 -[[https:~~/~~/www.youtube.com/watch?v=wtGTxRDSQz4>>https://www.youtube.com/watch?v=wtGTxRDSQz4]] 19 -|Роман Щербаков «C# 9.0 Source Generators» 1 +Source generators 2 + 3 +---- 4 + 5 +Роман Щербаков «C# 9.0 Source Generators» 20 20 https://www.youtube.com/watch?v=Xeuewv-5nOA 21 -))) 22 22 23 23 ---- 24 24