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 |
Hataya neden olan veya bozulmayan düzeltme | Hataya neden olmayan |
.NET 9'da varsayılan olarak etkin | Hayır |
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.
Çözümlemek için kod yapılandırma
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
Bu kuralın üzerinde çalıştırılacak kod tabanınızın hangi bölümlerini erişilebilirliklerine göre 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