CA1724: 型名は名前空間と同一にすることはできない

プロパティ
ルール ID CA1724
Title 型名は名前空間と同一にすることはできません
[カテゴリ] 名前を付ける
修正が中断ありか中断なしか あり
.NET 8 では既定で有効 いいえ

原因

型名が、外部から参照可能な 1 つ以上の型を持つ参照先の名前空間名と一致しています。 名前の比較では、大文字と小文字が区別されません。

規則の説明

ユーザーが作成した型名は、外部から参照できる型を持つ参照先の名前空間の名前と一致させることはできません。 この規則に違反すると、ライブラリが使いづらくなります。

違反の修正方法

型名を、外部から参照できる型を持つ参照先の名前空間の名前と一致しないものに変更します。

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

新しい開発では、この規則による警告を抑制する必要がある既知のシナリオはありません。 警告を抑制する前に、ライブラリのユーザーの間で、一致する名前によってどれほどの混乱が生じているかを慎重に検討してください。 配布ライブラリの場合、この規則からの警告を抑制することが必要になる場合があります。

警告を抑制する

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

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

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

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

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

namespace MyNamespace
{
    // This class violates the rule
    public class System
    {
    }
}