Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Hodnota | |
|---|---|
| Identifikátor pravidla | ASP0006 |
| Kategorie | Použití |
| Oprava je destruktivní nebo nedestruktivní | Nezlomitelný |
Příčina
Vyvolání na metodě RenderTreeBuilder obsahující pořadové číslo, které není literál 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. Dynamický výpočet pořadového čísla nebo použití čítače může vést k nízké efektivitě při porovnávání rozdílů. Místo toho použijte doslovné 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í
Ne potlač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.