次の方法で共有


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

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

原因

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

規則の説明

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

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

違反の修正方法

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

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

// Inside a project with <OutputKind>Exe</OutputKind>.
public class Program
{
    public static void Main(string[] args)
    {
    }
}
' Inside a project with <OutputKind>Exe</OutputKind>.
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)
    {
    }
}
' Inside a project with <OutputKind>Exe</OutputKind>.
Friend Class Program
    Public Shared Sub Main(args As string())
    End Sub
End Class

(プロジェクトの出力の種類の詳細については、 .NET プロジェクト デザイナーの「出力の種類」セクションを参照してください。

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

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

警告を抑制する

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

#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

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

分析するコードを構成する

この規則を適用する 出力アセンブリの種類 を構成できます。 たとえば、コンソール アプリケーションまたは動的にリンクされるライブラリ (つまり、UI アプリではない) を生成するコードにのみこの規則を適用するには、プロジェクトの .editorconfig ファイルに次のキーと値のペアを追加します。

dotnet_code_quality.CA1515.output_kind = ConsoleApplication, DynamicallyLinkedLibrary

詳細については、「 output_kind」を参照してください。