Рефлексия тормозит приложения? Пора управлять компилятором!
Устали писать одинаковый код снова и снова? Рефлексия съедает производительность в рантайме, а генерация boilerplate-кода отнимает часы. Современный C# предлагает элегантное решение — заставить компилятор работать на вас.
🎥 Вебинар «Заставьте компилятор работать на вас: магия метапрограммирования с Source Generators в C#»
📅 6 августа, 20:00
👩🏫 Елена Сычева
Разберём на практике:
→ Почему рефлексия — узкое место и как Source Generators решают проблему на этапе компиляции
→ Устройство компилятора Roslyn: синтаксические деревья и семантическая модель
→ Live-coding первого Source Generator для избавления от рутинного кода
→ Применение генераторов в популярных библиотеках .NET 7+
Результат: вы научитесь создавать собственные генераторы кода, которые автоматизируют рутину и повышают производительность приложений без runtime-накладных расходов.
Вебинар проходит в рамках курса «C# углубленный» — участники получают эксклюзивные условия обучения.
→ Регистрация: https://otus.pw/1j45/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
Устали писать одинаковый код снова и снова? Рефлексия съедает производительность в рантайме, а генерация boilerplate-кода отнимает часы. Современный C# предлагает элегантное решение — заставить компилятор работать на вас.
🎥 Вебинар «Заставьте компилятор работать на вас: магия метапрограммирования с Source Generators в C#»
📅 6 августа, 20:00
👩🏫 Елена Сычева
Разберём на практике:
→ Почему рефлексия — узкое место и как Source Generators решают проблему на этапе компиляции
→ Устройство компилятора Roslyn: синтаксические деревья и семантическая модель
→ Live-coding первого Source Generator для избавления от рутинного кода
→ Применение генераторов в популярных библиотеках .NET 7+
Результат: вы научитесь создавать собственные генераторы кода, которые автоматизируют рутину и повышают производительность приложений без runtime-накладных расходов.
Вебинар проходит в рамках курса «C# углубленный» — участники получают эксклюзивные условия обучения.
→ Регистрация: https://otus.pw/1j45/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
🔦 Fluent UI Blazor — библиотека компонентов от Microsoft, которая переносит фирменный Fluent Design в Blazor-приложения. Она включает готовые решения для кнопок, карточек, таблиц и сложных элементов вроде диалоговых окон, сохраняя единый стиль современных продуктов Microsoft.
Проект имеет глубокую интеграцию с .NET 8/9 и гибкость: темы настраиваются через CSS-переменные, есть поддержка RTL и адаптация под системные настройки. Для старта можно использовать готовые шаблоны
🤖 GitHub
@csharp_ci
Проект имеет глубокую интеграцию с .NET 8/9 и гибкость: темы настраиваются через CSS-переменные, есть поддержка RTL и адаптация под системные настройки. Для старта можно использовать готовые шаблоны
dotnet new
или вручную подключить NuGet-пакеты. 🤖 GitHub
@csharp_ci
Что выведет на экран этот код?
Anonymous Quiz
24%
Foo { Value = 3, IsEven = True }
51%
Foo { Value = 3, IsEven = False }
6%
Foo { Value = 2, IsEven = False }
5%
Foo { Value = 2, IsEven = True }
13%
🧪 Puppeteer Sharp — .NET-порт популярной библиотеки Puppeteer для автоматизации браузера Chrome через DevTools Protocol. Позволяет скриптовать действия в браузере: делать скриншоты, генерировать PDF, парсить динамический контент и тестировать веб-приложения.
Проект поддерживает .NET Standard 2.0+ и .NET 8, включая AOT-компиляцию. Интеграция с C# делает его удобным альтернативным Node.js-версии, например, для E2E-тестов в ASP.NET или массовой генерации документов.
🤖 GitHub
@csharp_ci
Проект поддерживает .NET Standard 2.0+ и .NET 8, включая AOT-компиляцию. Интеграция с C# делает его удобным альтернативным Node.js-версии, например, для E2E-тестов в ASP.NET или массовой генерации документов.
🤖 GitHub
@csharp_ci
🔥 В C# 14 (.NET 10 preview) появляется новое ключевое слово — field
Больше не нужно вручную создавать приватные поля для автосвойств.
Теперь можно обращаться к автоматически создаваемому полю через field прямо внутри get, set или init.
🧩 Пример:
✅ Работает во всех аксессорах
✅ Меньше кода — больше читаемости
✅ Особенно удобно при валидации, логировании, модификации значений
⚠️ Если у тебя уже есть переменная с именем field, будут конфликты. Решения:
- использовать field
- или this.field
- или переименовать существующее поле
Больше не нужно вручную создавать приватные поля для автосвойств.
Теперь можно обращаться к автоматически создаваемому полю через field прямо внутри get, set или init.
🧩 Пример:
string Name
{
get => field;
set => field = value.Trim();
}
✅ Работает во всех аксессорах
✅ Меньше кода — больше читаемости
✅ Особенно удобно при валидации, логировании, модификации значений
⚠️ Если у тебя уже есть переменная с именем field, будут конфликты. Решения:
- использовать field
- или this.field
- или переименовать существующее поле
Хотите разобраться в тестировании API на ASP.NET Core?
➡️ Присоединяйтесь к открытому уроку «Тестирование API в ASP.NET Core: Интеграция и Нагрузка» 5 августа в 20:00 МСК. На вебинаре мы:
- Разберем ключевые концепции интеграционного и нагрузочного тестирования.
- Научимся писать интеграционные тесты с популярными библиотеками.
- Освоим инструменты для нагрузочного тестирования и анализа результатов.
📗 Этот урок — отличная подготовка к курсу «C# ASP.NET Core разработчик», который стартует совсем скоро. Все участники вебинара получат скидку на обучение!
Записаться на вебинар → https://otus.pw/ZkFR/?erid=2W5zFHq4zj2
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
➡️ Присоединяйтесь к открытому уроку «Тестирование API в ASP.NET Core: Интеграция и Нагрузка» 5 августа в 20:00 МСК. На вебинаре мы:
- Разберем ключевые концепции интеграционного и нагрузочного тестирования.
- Научимся писать интеграционные тесты с популярными библиотеками.
- Освоим инструменты для нагрузочного тестирования и анализа результатов.
📗 Этот урок — отличная подготовка к курсу «C# ASP.NET Core разработчик», который стартует совсем скоро. Все участники вебинара получат скидку на обучение!
Записаться на вебинар → https://otus.pw/ZkFR/?erid=2W5zFHq4zj2
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🖍️ MudBlazor — Material Design для Blazor-приложений. Библиотека компонентов для создания современных веб-интерфейсов на C# с минимальным использованием JavaScript. Включает все основные Material-элементы: кнопки, таблицы, диалоги и сложные компоновки.
Инструмент имеет глубокую интеграция с Blazor WASM и Server, включая темы, анимации и адаптивную верстку. Не требует сторонних зависимостей, что упрощает развертывание.
🤖 GitHub
@csharp_ci
Инструмент имеет глубокую интеграция с Blazor WASM и Server, включая темы, анимации и адаптивную верстку. Не требует сторонних зависимостей, что упрощает развертывание.
🤖 GitHub
@csharp_ci