ASP0006: Nepoužívejte nesekvenční pořadová čísla
Hodnota | |
---|---|
ID pravidla | ASP0006 |
Kategorie | Využití |
Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
Příčina
Vyvolání metody obsahující RenderTreeBuilder pořadové číslo, které není literálem jako parametr.
Popis pravidla
BlazorAlgoritmus rozdílu uživatelského rozhraní spoléhá na pořadová čísla k určení, které prvky se změnily. Výsledkem dynamického výpočtu pořadového čísla nebo použití čítače může být nízký výkon rozdílu. Místo toho použijte literálové pořadové číslo, které se mapuje na řádek zdrojového kódu prvku. Například následující kód vytvoří chybu:
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
var seqNum = 1;
builder.OpenElement(seqNum, "div");
builder.CloseElement();
Jak opravit porušení
Chcete-li opravit porušení tohoto pravidla, ujistěte se, že volání metod třídy RenderTreeBuilder , které jako parametr přebírají pořadové číslo, používají literálové pořadové číslo.
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
builder.OpenElement(0, "div");
builder.CloseElement();
Kdy potlačit upozornění
Nepotlačujte upozornění z tohoto pravidla. Použití jiného než literálového pořadového čísla může vést ke snížení výkonu.