Start Debugging

Тег: csharp

278 статей · Страница1из28

Как отрендерить заголовок, уровень которого (h1-h6) выбирается во время выполнения, в компоненте Blazor
В Razor нет синтаксиса для переменного имени тега, а DynamicComponent рендерит только типы компонентов. Переопределите BuildRenderTree и вызовите builder.OpenElement(0, $"h{level}"). Разбираются проброс атрибутов, почему имя тега нужно ограничивать до того, как оно попадёт в DOM, почему смена уровня вырывает элемент из DOM даже с @key, и вариант с автоматическим уровнем на каскадном значении.
Как написать статический член расширения, применимый ко всем типам enum в C# 14
Объявите обобщённый блок extension с ограничением struct, Enum и получите Status.Values, Status.Count и Status.Parse для каждого enum в решении. Форма получателя, ловушки CS0704 и CS0428 и почему Enum.GetValues нужно кешировать.
2026-08-23 ef-corelinqcsharp
Как писать переиспользуемые предикаты LINQ, которые EF Core транслирует в Where, Select и OrderBy
Вспомогательный метод, возвращающий bool, бросает "could not be translated". Expression<Func<T, bool>> не бросает. Разбираем, как компоновать, вкладывать и переиспользовать деревья выражений в EF Core 11 без LINQKit, с реальным SQL для каждого случая.
Semantic Kernel 1.80.0 запрещает плагинам OpenAPI следовать за редиректами
В Semantic Kernel .NET 1.80.0 появилось ломающее изменение: HttpClient по умолчанию у плагина OpenAPI больше не следует за редиректами, что закрывает обход SSRF-защиты. Что именно поменялось и почему собственный HttpClient снова открывает дыру.
Как скачать файл из компонента Blazor без взаимодействия с JavaScript
Обойдитесь без JS-модуля downloadFileFromStream. Отрисуйте якорь с атрибутом download, указывающий на конечную точку minimal API с TypedResults.File, либо отправьте POST обычной HTML-формой с AntiforgeryToken. Разбираем, почему именно атрибут download мешает улучшенной навигации Blazor перехватить клик, почему data-enhance молча выбрасывает файл, и ловушку с cookie против bearer.
Как заставить System.Text.Json игнорировать свойство с модификатором required
[JsonIgnore] на члене с required выбрасывает InvalidOperationException: marked required but does not specify a setter. Почему эти две возможности конфликтуют и четыре способа всё же проигнорировать свойство, измерено на .NET 10.
Как использовать IDbContextFactory<T> из singleton-сервиса в Blazor
Singleton не может внедрить DbContext, но может внедрить IDbContextFactory<T>, потому что AddDbContextFactory по умолчанию регистрирует фабрику как singleton. Создавайте и освобождайте по одному контексту на вызов и никогда не сохраняйте экземпляр.
Вперёд