CA2226: İşleçler simetrik aşırı yüklemelere sahip olmalıdır

Özellik Değer
Kural Kimliği CA2226
Başlık İşleçler simetrik aşırı yüklemelere sahip olmalıdır
Kategori Kullanım
Düzeltme bozucu ya da bozmayan olabilir Kesintisiz
.NET 10'da varsayılan olarak etkin Hayır
Geçerli diller C# ve Visual Basic

Neden

Bir tür, eşitlik ya da eşitsizlik operatörünü uygular ve ters işleci uygulamaz.

Varsayılan olarak, bu kural yalnızca dışarıdan görünen türlere bakar, ancak bu yapılandırılabilir.

Kural açıklaması

Bir türün örnekleri için eşitliğin veya eşitsizliğin geçerli olduğu ve karşıt işlecin tanımsız olduğu hiçbir koşul yoktur. Türler genellikle eşitlik işlecinin olumsuzlanan değerini döndürerek eşitsizlik işlecini uygular.

C# derleyicisi bu kuralın ihlalleri için bir hata döndürür.

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için hem eşitlik hem de eşitsizlik işleçlerini uygulayın veya mevcut olanı kaldırın.

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

Bu kuraldan uyarıyı bastırmayın. Bunu yaparsanız, türünüz .NET ile tutarlı bir şekilde çalışmaz.

Kod çözümleme için konfigüre et

Bu kuralın kod tabanınızın hangi bölümlerinde çalıştırılacaklarını yapılandırmak için aşağıdaki seçeneği kullanın.

Bu seçeneği yalnızca bu kural, geçerli olduğu tüm kurallar veya bu kategorideki (Kullanım) tüm kurallar için yapılandırabilirsiniz. Daha fazla bilgi için bkz . Kod kalitesi kuralı yapılandırma seçenekleri.

Belirli API yüzeylerini ekleme

api_surface seçeneğini ayarlayarak, bu kuralın erişilebilirliği temelinde kod tabanınızın hangi bölümlerinde çalıştırılacaklarını yapılandırabilirsiniz. Örneğin, kuralın yalnızca genel olmayan API yüzeyinde çalıştırılması gerektiğini belirtmek için projenizdeki bir .editorconfig dosyasına aşağıdaki anahtar-değer çiftini ekleyin:

dotnet_code_quality.CAXXXX.api_surface = private, internal

Not

XXXX CAXXXX bölümünü geçerli kuralın kimliğiyle değiştirin.