共用方式為


CA1515:考慮讓公用型別成為內部

屬性
規則識別碼 CA1515
職稱 請考慮在內部建立公用類型
類別 可維護性
修正程式是中斷或非中斷 不中斷
在 .NET 10 中預設啟用

原因

可執行檔元件內的類型會宣告為 public。

檔案描述

不同於類別庫,應用程式 API 通常不會公開參考,因此類型可以標示 internal為 。

反過來,內部類型也可以受益於以非公用 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