Start Debugging

Тег: how-to

73 статей · Страница4из8

2026-09-06 flutterdarthow-to
Как определить нажатие Backspace в пустом TextField во Flutter при вводе OTP
onChanged не срабатывает, потому что никакого редактирования не происходит, а на iOS метод deleteBackward в движке просто возвращается, ничего не тронув, если поле пустое. Два подхода, которые действительно работают на всех платформах: сторожевой символ нулевой ширины, гарантирующий редактирование, и один EditableText за отрисованными ячейками. Проверено на Flutter 3.47.2 / Dart 3.13.2.
Как использовать пессимистичную блокировку с UPDLOCK и SELECT ... FOR UPDATE в EF Core 11
В EF Core 11 по-прежнему нет API блокировок. Разбираем, как взять настоящую блокировку строки через FromSql: WITH (UPDLOCK, ROWLOCK) в SQL Server, FOR UPDATE в PostgreSQL, ловушка с подзапросом, которая молча расширяет блокировку, NOWAIT и SKIP LOCKED, повторы при дедлоках и что делать, когда строки ещё нет.
Как написать value converter в EF Core 11, который преобразует null из базы данных в ненулевое значение в коде
По умолчанию EF Core никогда не передаёт null в value converter. Разбираем внутренний конструктор convertsNulls, который это меняет, вызов IsRequired(false), от которого он зависит, почему он не работает с enum и другими типами значений, ловушку WHERE col = NULL, которую он создаёт, и два подхода, решающие задачу без внутреннего API.
Как отрендерить заголовок, уровень которого (h1-h6) выбирается во время выполнения, в компоненте Blazor
В Razor нет синтаксиса для переменного имени тега, а DynamicComponent рендерит только типы компонентов. Переопределите BuildRenderTree и вызовите builder.OpenElement(0, $"h{level}"). Разбираются проброс атрибутов, почему имя тега нужно ограничивать до того, как оно попадёт в DOM, почему смена уровня вырывает элемент из DOM даже с @key, и вариант с автоматическим уровнем на каскадном значении.
2026-08-24 flutterdarttesting
Как протестировать Flutter-виджет в фиксированный момент времени без замыкания withClock
Внутри testWidgets внешний clock из package:clock уже поддельный, но начинается с системного времени запуска теста. Зафиксируйте его для всего набора тестов, переопределив runTest в собственном AutomatedTestWidgetsFlutterBinding, который устанавливается из flutter_test_config.dart. Проверено на Flutter 3.44.2, clock 1.1.2, fake_async 1.3.3.
Как написать статический член расширения, применимый ко всем типам enum в C# 14
Объявите обобщённый блок extension с ограничением struct, Enum и получите Status.Values, Status.Count и Status.Parse для каждого enum в решении. Форма получателя, ловушки CS0704 и CS0428 и почему Enum.GetValues нужно кешировать.
Как генерировать первичный ключ из последовательности базы данных при вставке в EF Core 11
Переводим ключ с IDENTITY на последовательность SQL Server в EF Core 11 через UseSequence: точный SQL, который выдаёт EF, почему явные значения ключа вдруг работают без IDENTITY_INSERT, последовательность bigint для колонки int и пропуски, которые нужно закладывать в проект.
Как показать модальное окно в .NET MAUI 11
Модальным окном в .NET MAUI 11 называют две совершенно разные вещи. PushModalAsync даёт модальную страницу на всех платформах. Настоящего окна операционной системы, блокирующего окно-владельца, в MAUI нет вообще, поэтому здесь разобрана связка WinUI OverlappedPresenter.IsModal и Win32-дескриптора владельца, которая реально работает в Windows, и что делать в Mac Catalyst.
Как вызвать хранимую процедуру и отобразить её результаты в EF Core 11
Используйте FromSql на DbSet, когда процедура возвращает полные строки сущности, Database.SqlQuery<T> при проекции и ExecuteSql, когда она не возвращает ничего. Никогда не присоединяйте оператор LINQ к EXEC и не читайте выходной параметр до того, как ридер будет освобождён.
Как настроить сериализацию System.Text.Json, сгенерированную генератором исходного кода, с помощью модификатора type info resolver
Как подключить модификатор JsonTypeInfo к сгенерированному JsonSerializerContext в .NET 11: почему new MyContext(options) молча его отбрасывает, рабочая схема с WithAddedModifier, быстрый путь, который вы теряете (с измерениями), и ловушка политики именования, из-за которой модификатор ничего не делает.
Назад Вперёд