CA1716: Tanımlayıcılar anahtar sözcüklerle eşleşmemelidir

Özellik Değer
Kural Kimliği CA1716
Başlık Tanımlayıcılar anahtar sözcükler ile eşleşmemelidir
Kategori Adlandırma
Hataya neden olan veya bozulmayan düzeltme Yeni
.NET 8'de varsayılan olarak etkin Hayır

Neden

Ad alanı, tür veya sanal ya da arabirim üyesinin adı, bir programlama dilinde ayrılmış anahtar sözcükle eşleşir.

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

Kural açıklaması

Ad alanları, türler, sanal ve arabirim üyeleri için tanımlayıcılar, ortak dil çalışma zamanını hedefleyen diller tarafından tanımlanan anahtar sözcüklerle eşleşmemelidir. Kullanılan dile ve anahtar sözcüğüne bağlı olarak, derleyici hataları ve belirsizlikler kitaplığın kullanılmasını zorlaştırabilir.

Bu kural, aşağıdaki dillerde anahtar sözcüklere karşı denetler:

  • Visual Basic
  • C#
  • C++/CLI

Visual Basic anahtar sözcükleri için büyük/küçük harfe duyarsız karşılaştırma, diğer diller için büyük/küçük harfe duyarlı karşılaştırma kullanılır.

İhlalleri düzeltme

Anahtar sözcükler listesinde görünmeyen bir ad seçin.

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

Tanımlayıcının API kullanıcılarının kafasını karıştırmayacağından ve kitaplığın .NET'teki tüm kullanılabilir dillerde kullanılabilir olduğundan eminseniz, bu kuraldan gelen bir uyarıyı gizleyebilirsiniz.

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.

#pragma warning disable CA1716
// The code that's violating the rule is on this line.
#pragma warning restore CA1716

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini noneolarak ayarlayın.

[*.{cs,vb}]
dotnet_diagnostic.CA1716.severity = none

Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.

Çö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çenekleri kullanın.

Bu seçenekleri yalnızca bu kural için, geçerli olduğu tüm kurallar için 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

Çözümlenen sembol türleri

Bu kural tarafından analiz edilecek simge türlerini yapılandırabilirsiniz. İzin verilebilen değerler şunlardır:

  • Namespace
  • NamedType
  • Method
  • Property
  • Event
  • Parameter

Birden çok değeri virgülle (,) ayırın. Varsayılan değer, önceki listedeki tüm simge türlerini içerir.

dotnet_code_quality.CA1716.analyzed_symbol_kinds = Namespace, NamedType, Method, Property, Event