Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 9 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)
{
}
}
' Inside a project with <OutputKind>Exe</OutputKind>.
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)
{
}
}
' Inside a project with <OutputKind>Exe</OutputKind>.
Friend Class Program
Public Shared Sub Main(args As string())
End Sub
End Class
(Weitere Informationen zum Ausgabetyp eines Projekts finden Sie im Abschnitt "Ausgabetyp" von .NET Project Designer.)
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 none
auf fest.
[*.{cs,vb}]
dotnet_diagnostic.CA1515.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.
Konfigurieren des zu analysierenden Codes
Sie können konfigurieren, auf welche Ausgabeassemblytypen diese Regel angewendet werden soll. Fügen Sie einer .editorconfig-Datei in Ihrem Projekt das folgende Schlüssel-Wert-Paar hinzu, wenn diese Regel beispielsweise nur auf Code angewendet werden soll, mit dem eine Konsolenanwendung oder eine dynamisch verknüpfte Bibliothek (also keine Benutzeroberflächen-App) erstellt wird:
dotnet_code_quality.CA1515.output_kind = ConsoleApplication, DynamicallyLinkedLibrary
Weitere Informationen finden Sie unter output_kind.