Огромное спасибо за доклад! Наконец-то что-то новенькое, чего я не знал за свои 15 лет в C#! Невероятно полезный навык, который в нужный момент может сэкономить реально кучу времени! Большая ценность подхода в более дешевой поддержке сгенерированного кода. Где-то что-то изменилось - не проблема, быстро изменил исходные данные и... готово! У меня такие моменты, когда надо было собирать исходники на основе внешних данных, в опыте были не часто и не на столько тяжелые, ну и я решал их консольным приложением, которое собирало .cs файлы прям как в первом примере... В следующий раз вспомню про это видео и попробую этот подход.
Если генерация у тебя делается из внешних данных, которые надо откуда-то вытянуть, она длиться долго и надо ее выполнять 1 раз в неделю - то T4 лучше. В конце доклада как раз идет сравнение того и другого.
Остался. В T4 можно скопировать обычный код из рантайма с# в компайл-тайм и он сможет работать. В сорс-генераторах надо размечать атрибутами код, либо по конвеншену и работать с рослином. Это разные инструменты.
Сейчас основное ограничение source generators в их полной изолированности друг от друга. Т.е. source generator например для маппинга не увидит код, который генерит source generator для WPF.
Не хочется давать отрицательную оценку докладу, но много но. Вместо ожидания, а вот давайте напишем такое, дано, вот хотели это, это вот так делается и скрол экранов с исходным кодом. Графики сравнения, не понятно о чем. Раз уж зашла речь о других инструментах, то о них с плюсами и минусами. Как бы человеку пишущему на шарпе уже давно, но не использовавшему T4 вообще, скажем EF6 использовал шаблоны, представляется мощь этого инструмента, а вот для новичка вообще не понятно.
Графики сравнения Source Generators и T4 - пушка! Отличная работа!
Огромное спасибо за доклад! Наконец-то что-то новенькое, чего я не знал за свои 15 лет в C#!
Невероятно полезный навык, который в нужный момент может сэкономить реально кучу времени!
Большая ценность подхода в более дешевой поддержке сгенерированного кода. Где-то что-то изменилось - не проблема, быстро изменил исходные данные и... готово!
У меня такие моменты, когда надо было собирать исходники на основе внешних данных, в опыте были не часто и не на столько тяжелые, ну и я решал их консольным приложением, которое собирало .cs файлы прям как в первом примере...
В следующий раз вспомню про это видео и попробую этот подход.
Мммм. Привет от 21 года практики в C#.
А остался смысл генерить код через T4 когда это же можно сделать через SourceGenerator- ы но более гибко и с лучшей интеграцией в IDE?
Если генерация у тебя делается из внешних данных, которые надо откуда-то вытянуть, она длиться долго и надо ее выполнять 1 раз в неделю - то T4 лучше.
В конце доклада как раз идет сравнение того и другого.
Скорей всего в какой-то момент все преимущества t4 завезут в source generators.... подождем и увидим.
@@sergeymikolaitis8205 если мне память не изменяет, на Т4 можно что угодно генерировать. Мне помниться, что я так TypeScript для фронта генерировал
Остался. В T4 можно скопировать обычный код из рантайма с# в компайл-тайм и он сможет работать. В сорс-генераторах надо размечать атрибутами код, либо по конвеншену и работать с рослином. Это разные инструменты.
Сейчас основное ограничение source generators в их полной изолированности друг от друга. Т.е. source generator например для маппинга не увидит код, который генерит source generator для WPF.
Не хочется давать отрицательную оценку докладу, но много но. Вместо ожидания, а вот давайте напишем такое, дано, вот хотели это, это вот так делается и скрол экранов с исходным кодом. Графики сравнения, не понятно о чем. Раз уж зашла речь о других инструментах, то о них с плюсами и минусами. Как бы человеку пишущему на шарпе уже давно, но не использовавшему T4 вообще, скажем EF6 использовал шаблоны, представляется мощь этого инструмента, а вот для новичка вообще не понятно.