CA1708: Tanımlayıcılar örnekten daha fazla farklı olmalıdır

Özellik Değer
Kural Kimliği CA1708
Başlık Tanımlayıcılar yalnızca büyük küçük harfle birbirinden farklı olmamalıdır
Kategori Adlandırma
Hataya neden olan veya bozulmayan düzeltme Yeni
.NET 8'de varsayılan olarak etkin Hayır

Neden

küçük harfe dönüştürülen iki tür, üye, parametre veya tam ad alanı adları aynıdır.

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

Kural açıklaması

Ortak dil çalışma zamanı hedef dilleri büyük/küçük harf duyarlı olması gerekmediğinden ad alanları, türler, üyeler ve parametreler için tanımlayıcılar yalnızca büyük/küçük harfe göre farklılık göstermeyebilir. Örneğin, Visual Basic yaygın olarak kullanılan büyük/küçük harfe duyarsız bir dildir.

İhlalleri düzeltme

Büyük/küçük harfe duyarlı olmayan bir şekilde diğer tanımlayıcılarla karşılaştırıldığında benzersiz bir ad seçin.

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

Bu kuraldan uyarıyı bastırmayın. Kitaplık .NET'teki tüm kullanılabilir dillerde kullanılamayabilir.

Çö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 (Adlandırma) 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

İhlal örneği

Aşağıdaki örnekte bu kuralın ihlali gösterilmektedir.

public class Class1
{
    protected string someName;
    public string SomeName => someName;
}

Aşağıdaki örnekte, ihlali düzeltmenin bir yolu gösterilmektedir

public class Class1
{
    protected string _someName;
    public string SomeName => _someName;
}