CA1708: Bezeichner sollten sich nicht nur durch die Groß-/Kleinschreibung unterscheiden.

Eigenschaft Wert
Regel-ID CA1708
Titel Bezeichner sollten sich nicht nur durch die Groß-/Kleinschreibung unterscheiden.
Kategorie Benennung
Fix führt oder führt nicht zur Unterbrechung Breaking
Standardmäßig in .NET 8 aktiviert Nein

Ursache

Die Bezeichnungen von zwei Typen, Mitgliedern, Parametern oder vollqualifizierten Namespaces sind gleich, wenn sie in Kleinschreibung umgewandelt werden.

Standardmäßig werden mit dieser Regel nur extern sichtbare Typen, Mitglieder und Namespaces überprüft, aber dies ist konfigurierbar.

Regelbeschreibung

Bezeichner für Namespaces, Typen, Member und Parameter dürfen sich nicht nur durch die Groß-/Kleinschreibung unterscheiden, weil Sprachen, die auf die Common Language Runtime abzielen, nicht zwischen Groß- und Kleinschreibung unterscheiden müssen. Beispielsweise ist Visual Basic eine häufig verwendete Sprache ohne Beachtung der Groß-/Kleinschreibung.

Behandeln von Verstößen

Wählen Sie einen Namen aus, der sich von allen anderen Bezeichnern unterscheidet, wobei die Groß-/Kleinschreibung keine Rolle spielt.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel. Die Bibliothek ist möglicherweise nicht in allen verfügbaren Sprachen in .NET verwendbar.

Konfigurieren des zu analysierenden Codes

Mithilfe der folgenden Option können Sie konfigurieren, für welche Teile Ihrer Codebasis diese Regel ausgeführt werden soll.

Sie können diese Option nur für diese Regel, für alle zutreffenden Regeln oder für alle zutreffenden Regeln in dieser Kategorie (Benennung) konfigurieren. Weitere Informationen finden Sie unter Konfigurationsoptionen für die Codequalitätsregel.

Einschließen bestimmter API-Oberflächen

Sie können je nach Zugänglichkeit festlegen, für welche Bestandteile Ihrer Codebasis diese Regel ausgeführt wird. Sie können beispielsweise festlegen, dass die Regel nur für die nicht öffentliche API-Oberfläche ausgeführt werden soll, indem Sie einer EDITORCONFIG-Datei in Ihrem Projekt das folgende Schlüssel-Wert-Paar hinzufügen:

dotnet_code_quality.CAXXXX.api_surface = private, internal

Beispiel für einen Verstoß

Das folgende Beispiel veranschaulicht einen Verstoß gegen diese Regel.

public class Class1
{
    protected string someName;
    public string SomeName => someName;
}

Das folgende Beispiel zeigt eine Möglichkeit, den Verstoß zu beheben

public class Class1
{
    protected string _someName;
    public string SomeName => _someName;
}