分享方式:


CA1515:請考慮在內部建立公用類型

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

原因

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

檔案描述

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

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

如需詳細資訊,請參閱 如何隱藏程式碼分析警告