| 屬性 | 值 |
|---|---|
| 規則識別碼 | 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
[*.{cs,vb}]
dotnet_diagnostic.CA1515.severity = none
如需詳細資訊,請參閱 如何隱藏程式代碼分析警告。
設定程式代碼以分析
您可以設定要套用此規則的 輸出元件類型 。 例如,若要只將此規則套用至產生主控台應用程式或動態連結庫的程式代碼(也就是UI應用程式),請將下列機碼/值組新增至 專案中的 .editorconfig 檔案:
dotnet_code_quality.CA1515.output_kind = ConsoleApplication, DynamicallyLinkedLibrary
如需詳細資訊,請參閱 output_kind。