CA1200: Ön ek ile cref etiketlerini kullanmaktan kaçının

Özellik Değer
Kural Kimliği CA1200
Başlık cref etiketlerini ön ek ile kullanmaktan kaçının
Kategori Belgeler
Hataya neden olan veya bozulmayan düzeltme Hataya neden olmayan
.NET 8'de varsayılan olarak etkin Hayır

Neden

XML belge açıklamasındaki cref etiketi bir ön ek kullanır.

Kural açıklaması

XML belge etiketindeki cref özniteliği "kod başvurusu" anlamına gelir. Etiketin iç metninin tür, yöntem veya özellik gibi bir kod öğesi olduğunu belirtir. Derleyicinin başvuruları doğrulamasını engellediği için etiketleri ön eklerle kullanmaktan cref kaçının. Ayrıca, Visual Studio tümleşik geliştirme ortamının (IDE) yeniden düzenleme sırasında bu sembol başvurularını bulmasını ve güncelleştirmesini engeller. cref etiketlerindeki sembol adlarına başvurmak için ön ekleri olmadan tam söz dizimini kullanmanız önerilir.

İhlalleri düzeltme

Bu kuralın ihlalini düzeltmek için etiketinden cref ön eki kaldırın. Örneğin, aşağıdaki iki kod parçacığı kuralın ihlalini ve nasıl düzeltileceğini gösterir:

// Violates CA1200
/// <summary>
/// Type <see cref="T:C" /> contains method <see cref="F:C.F" />
/// </summary>
class C
{
    public void F() { }
}
// Does not violate CA1200
/// <summary>
/// Type <see cref="C" /> contains method <see cref="F" />
/// </summary>
class C
{
    public void F() { }
}

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

Başvurulan tür derleyici tarafından bulunamadığından kod başvurusunun bir ön ek kullanması gerekiyorsa bu uyarıyı gizlemeniz güvenlidir. Örneğin, bir kod başvurusu tam çerçevedeki özel bir özniteliğe başvuruyorsa, ancak dosya taşınabilir çerçevede derlenirse, bu 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 CA1200
// The code that's violating the rule is on this line.
#pragma warning restore CA1200

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.CA1200.severity = none

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

Ayrıca bkz.