CA1200:プレフィックスで cref タグを使用しません

プロパティ
ルール ID CA1200
Title プレフィックスで cref タグを使用しません
[カテゴリ] ドキュメント
修正が中断ありか中断なしか なし
.NET 8 では既定で有効 いいえ

原因

XML ドキュメント コメントの cref タグでは、プレフィックスが使用されます。

規則の説明

XML ドキュメント タグの cref 属性は "コード参照" を意味します。 タグの内部テキストが、型、メソッド、プロパティなど、コード要素であることを指定します。 cref タグとプレフィックスを一緒に使用すると、コンパイラで参照を検証できなくなるため、一緒に使用しないでください。 また、Visual Studio 統合開発環境 (IDE) でリファクタリング中にこれらのシンボル参照を見つけたり、更新したりすることもできなくなります。 cref タグのシンボル名を参照するプレフィックスなしで完全構文を使用することをお勧めします。

違反の修正方法

この規則違反を修正するには、cref タグからプレフィックスを削除します。 たとえば、次の 2 つのコード スニペットは、規則違反とその修正方法を示しています。

// 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() { }
}

どのようなときに警告を抑制するか

コード参照でプレフィックスを使用しなければならない場合、この警告を非表示にすることをお勧めします。参照される型をコンパイラが見つけられないためです。 たとえば、あるコード参照で、完全なフレームワークの特別な属性が参照されるが、移植可能なフレームワークに対してファイルがコンパイルされる場合、この警告を非表示にできます。

警告を抑制する

単一の違反を抑制するだけの場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則をもう一度有効にします。

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

ファイル、フォルダー、またはプロジェクトの規則を無効にするには、構成ファイルでその重要度を none に設定します。

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

詳細については、「コード分析の警告を抑制する方法」を参照してください。

関連項目