Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
| Valor | |
|---|---|
| ID da regra | ASP0006 |
| Categoria | Utilização |
| A correção é invasiva ou não invasiva | Inquebrável |
Motivo
Uma invocação de um método em RenderTreeBuilder que contém um número de sequência não literal como parâmetro.
Descrição da regra
BlazorO algoritmo de diferenciação da interface do usuário depende de números de sequência para determinar quais elementos foram alterados. Calcular o número de sequência dinamicamente ou usar um contador pode resultar em baixo desempenho na comparação de diferenças. Em vez disso, use um número de sequência literal que corresponda à linha de código-fonte do elemento. Por exemplo, o código a seguir produz um erro:
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
var seqNum = 1;
builder.OpenElement(seqNum, "div");
builder.CloseElement();
Como corrigir violações
Para corrigir uma violação dessa regra, certifique-se de que as RenderTreeBuilder chamadas para métodos na classe que usam um número de sequência como parâmetro usem um número de sequência literal.
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
builder.OpenElement(0, "div");
builder.CloseElement();
Quando suprimir avisos
Não suprima um aviso desta regra. O uso de um número de sequência não literal pode resultar em degradação do desempenho.