Sdílet prostřednictvím


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.