Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
| Valeur | |
|---|---|
| Identificateur de la règle | ASP0006 |
| Catégorie | Usage |
| Le correctif est cassant ou non cassant | Non-breaking |
La cause
Appel de méthode dans RenderTreeBuilder contenant un numéro de séquence qui n’est pas un littéral en tant que paramètre.
Description de la règle
BlazorL’algorithme de différence de l’interface utilisateur s’appuie sur des nombres de séquences pour déterminer quels éléments ont changé. Le calcul dynamique du numéro de séquence ou l'utilisation d'un compteur peut entraîner de mauvaises performances lors de la comparaison des différences. Utilisez plutôt un numéro de séquence littéral qui correspond à la ligne de code source de l’élément. Par exemple, le code suivant génère une erreur :
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
var seqNum = 1;
builder.OpenElement(seqNum, "div");
builder.CloseElement();
Comment corriger les violations
Pour corriger une violation de cette règle, assurez-vous que les appels aux méthodes sur la RenderTreeBuilder classe qui prennent un numéro de séquence en tant que paramètre utilisent un numéro de séquence littéral.
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
builder.OpenElement(0, "div");
builder.CloseElement();
Quand supprimer les avertissements
Ne supprimez pas un avertissement de cette règle. L’utilisation d’un numéro de séquence non littéral peut entraîner une dégradation des performances.