CA1724: Typnamn ska inte matcha namnområden
Property | Värde |
---|---|
Regel-ID | CA1724 |
Title | Typnamn får inte matcha namnområden |
Kategori | Namngivning |
Korrigeringen är icke-bakåtkompatibel | Brott |
Aktiverad som standard i .NET 9 | 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
{
}
}