Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
| Ценность | |
|---|---|
| Идентификатор правила | ASP0006 |
| Категория | Использование |
| Исправление является разрушающим или неразрушающим. | Неразрывный |
Причина
Вызов метода, RenderTreeBuilder содержащего порядковый номер, который не является литеральным в качестве параметра.
Описание правила
BlazorАлгоритм диффинга пользовательского интерфейса зависит от порядковых номеров, чтобы определить, какие элементы изменились. Вычисление номера последовательности динамически или использование счетчика может привести к низкой производительности диффинга. Вместо этого используйте порядковый номер, который соответствует строке исходного кода для данного элемента. Например, следующий код приводит к ошибке:
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
var seqNum = 1;
builder.OpenElement(seqNum, "div");
builder.CloseElement();
Устранение нарушений
Чтобы устранить нарушение этого правила, убедитесь, что вызовы методов класса RenderTreeBuilder , которые принимают порядковый номер в качестве параметра, используют литеральный порядковый номер.
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
builder.OpenElement(0, "div");
builder.CloseElement();
Когда следует подавлять предупреждения
Не подавляйте предупреждение согласно этому правилу. Использование номера последовательности, отличного от литерального, может привести к снижению производительности.
ASP.NET Core