CA1515: Consider making public types internal (public 型を internal にすることを検討する)

プロパティ
ルール ID CA1515
Title Consider making public types internal (public 型を internal にすることを検討する)
カテゴリ 保守容易性
修正が中断ありか中断なしか なし
.NET 8 では既定で有効 いいえ

原因

実行可能アセンブリ内の型が public として宣言されています。

規則の説明

クラス ライブラリとは異なり、通常、アプリケーションの API はパブリックに参照されないため、型を internal としてマークできます。

internal 型には、public 以外の API を対象とするさまざまなコード アナライザーから得られるメリットがあります。

違反の修正方法

型を internal としてマークします。

次のコード スニペットは、CA1515 の違反を示しています。

// Inside a project with <OutputKind>Exe</OutputKind>
public class Program
{
    public static void Main(string[] args)
    {
    }
}
Public Class Program
    Public Shared Sub Main(args As string())
    End Sub
End Class

次のコード スニペットでは違反を修正しています。

// Inside a project with <OutputKind>Exe</OutputKind>
internal class Program
{
    public static void Main(string[] args)
    {
    }
}
Friend Class Program
    Public Shared Sub Main(args As string())
    End Sub
End Class

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

コードの保守性が懸念されない場合は、この規則違反を抑制しても問題ありません。

警告を抑制する

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

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

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

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

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