Aracılığıyla paylaş


ASP0006: Değişmez olmayan sıra numaraları kullanmayın

Değer
Kural Kimliği ASP0006
Kategori Kullanım
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan

Neden

Parametre olarak değişmez değer olmayan bir sıra numarası içeren bir yöntemi RenderTreeBuilder çağırma.

Kural açıklaması

Blazor'nin kullanıcı arabirimi fark algoritması hangi öğelerin değiştiğini belirlemek için sıra numaralarına dayanır. Sıra numarasını dinamik olarak hesaplama veya sayaç kullanma, düşük fark performansına neden olabilir. Bunun yerine, öğesinin kaynak kod satırıyla eşleyen değişmez bir sıra numarası kullanın. Örneğin, aşağıdaki kod bir hata oluşturur:

using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
var seqNum = 1;
builder.OpenElement(seqNum, "div");
builder.CloseElement();

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için, bir dizi numarasını parametre olarak alan sınıftaki RenderTreeBuilder yöntemlere yapılan çağrıların değişmez dizi numarası kullandığından emin olun.

using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
builder.OpenElement(0, "div");
builder.CloseElement();

Uyarıların ne zaman bastırılması gerekiyor?

Bu kuraldan bir uyarıyı gizlemeyin. Sabit olmayan bir sıra numarası kullanmak performans düşüşüyle sonuçlanabilir.