Share via


CA1724: Typnamn ska inte matcha namnområden

Property Värde
Regel-ID CA1724
Rubrik Typnamn får inte matcha namnområden
Kategori Namngivning
Korrigeringen är icke-bakåtkompatibel Bryta
Aktiverad som standard i .NET 8 Nej

Orsak

Ett typnamn matchar ett namnområdesnamn som har en eller flera externt synliga typer. Namnjämförelsen är skiftlägeskänslig.

Regelbeskrivning

Namn på användarskapade typer bör inte matcha namnen på refererade namnområden som har externt synliga typer. Om du bryter mot den här regeln kan du minska bibliotekets användbarhet.

Så här åtgärdar du överträdelser

Byt namn på typen så att den inte matchar namnet på ett refererat namnområde som har externt synliga typer.

När du ska ignorera varningar

För ny utveckling sker inga kända scenarier där du måste ignorera en varning från den här regeln. Innan du undertrycker varningen bör du noga överväga hur biblioteksanvändare kan förväxlas med matchande namn. För leveransbibliotek kan du behöva ignorera en varning från den här regeln.

Ignorera en varning

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.

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

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

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

Mer information finns i Så här utelämnar du kodanalysvarningar.

Exempel

namespace MyNamespace
{
    // This class violates the rule
    public class System
    {
    }
}