Teilen über


CA1515: Erwägen Sie, öffentliche Typen intern zu machen

Eigenschaft Wert
Regel-ID CA1515
Titel Erwägen Sie, öffentliche Typen intern zu machen
Kategorie Wartbarkeit
Fix führt oder führt nicht zur Unterbrechung Nicht unterbrechend
Standardmäßig in .NET 8 aktiviert Nein

Ursache

Ein Typ innerhalb einer ausführbaren Assembly wird als öffentlich deklariert.

Regelbeschreibung

Im Gegensatz zu einer Klassenbibliothek wird in der Regel nicht auf die API einer Anwendung öffentlich verwiesen, sodass Typen als internal markiert werden können.

Interne Typen können wiederum von verschiedenen Codeanalysatoren profitieren, die auf nicht öffentliche APIs abzielen.

Behandeln von Verstößen

Markieren Sie den Typ als internal.

Beispiel

Das folgende Codeschnipsel zeigt einen Verstoß gegen 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

Der folgende Codeausschnitt korrigiert die Verletzung:

// 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

Wann sollten Warnungen unterdrückt werden?

Es ist sicher, einen Verstoß gegen diese Regel zu unterdrücken, wenn Sie sich keine Gedanken über die Wartbarkeit Ihres Codes machen.

Unterdrücken einer Warnung

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.

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

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none fest.

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

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.