Start Debugging

Тег: source-generators

9 статей

MSTest 4.4 выводит генератор исходного кода для рефлексии из эксперимента, а проекты Native AOT получают его автоматически
MSTest 4.4 убирает у MSTest.SourceGeneration статус экспериментального и привязывает его к версии MSTest. Тестовые проекты Native AOT подключают его без opt-in, режим ReflectionFree теперь может пропускать обнаружение во время выполнения для простых [TestMethod] и [DataRow], а пять диагностик AOTSG показывают, какие формы тестов не пройдут.
AutoMapper против Mapperly и написанного вручную маппинга в 2026 году
Mapperly - выбор по умолчанию для нового кода .NET: он не уступает по скорости ручному маппингу, переживает Native AOT и находит незамапленные члены во время компиляции. AutoMapper по-прежнему выигрывает в ProjectTo. С бенчмарками и лицензионными порогами.
Как скрывать чувствительные значения в журналах с помощью LogProperties и редактирования данных в .NET
Полное руководство по редактированию классифицированных данных в журналах, созданных генератором исходного кода: постройте таксономию, напишите Redactor, подключите EnableRedaction и AddRedaction и разберитесь с дискриминатором, который незаметно ломает частичное маскирование. С реальным выводом из Microsoft.Extensions.Compliance.Redaction 10.9.0.
Как настроить сериализацию System.Text.Json, сгенерированную генератором исходного кода, с помощью модификатора type info resolver
Как подключить модификатор JsonTypeInfo к сгенерированному JsonSerializerContext в .NET 11: почему new MyContext(options) молча его отбрасывает, рабочая схема с WithAddedModifier, быстрый путь, который вы теряете (с измерениями), и ловушка политики именования, из-за которой модификатор ничего не делает.
Как заменить new Regex(...) на генератор исходного кода [GeneratedRegex] в .NET 11
Полное руководство по переходу с new Regex(pattern, RegexOptions.Compiled) на [GeneratedRegex] в .NET 11: механическая переработка кода, частичные методы против частичных свойств, измеренные показатели запуска и пропускной способности, диагностики SYSLIB1040-1045 и два случая, когда генератор молча откатывается к закешированному Regex.
Что такое генератор исходного кода и когда он мне нужен?
Понятное руководство по генераторам исходного кода в C#: что они на самом деле делают, как работает пайплайн IIncrementalGenerator, когда они выигрывают у рефлексии или T4 и в каких случаях к ним не стоит прибегать. С работающими примерами на .NET 11 и C# 14.
Как написать генератор исходного кода для INotifyPropertyChanged
Полное руководство по созданию собственного инкрементального генератора исходного кода для INotifyPropertyChanged в C# 14 и .NET 11: пайплайн IIncrementalGenerator, маркерные атрибуты, вывод partial class, паттерн SetProperty и как оставаться совместимым с AOT.