CA1724: Typenamen mogen niet overeenkomen met naamruimten
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA1724 |
Titel | Typenamen mogen niet overeenkomen met naamruimten |
Categorie | Naamgeving |
Oplossing is brekend of niet-brekend | Breken |
Standaard ingeschakeld in .NET 9 | Nee |
Oorzaak
Een typenaam komt overeen met een naamruimtenaam waarnaar wordt verwezen met een of meer extern zichtbare typen. De naamvergelijking is niet hoofdlettergevoelig.
Beschrijving van regel
Door de gebruiker gemaakte typenamen mogen niet overeenkomen met de namen van naamruimten waarnaar wordt verwezen en die extern zichtbare typen hebben. Het schenden van deze regel kan de bruikbaarheid van uw bibliotheek verminderen.
Schendingen oplossen
Wijzig de naam van het type zodanig dat deze niet overeenkomt met de naam van een naamruimte waarnaar wordt verwezen met extern zichtbare typen.
Wanneer waarschuwingen onderdrukken
Voor nieuwe ontwikkeling treden er geen bekende scenario's op waarbij u een waarschuwing van deze regel moet onderdrukken. Voordat u de waarschuwing onderdrukt, moet u zorgvuldig overwegen hoe de gebruikers van uw bibliotheek mogelijk worden verward door de overeenkomende naam. Voor verzendingsbibliotheken moet u mogelijk een waarschuwing van deze regel onderdrukken.
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable CA1724
// The code that's violating the rule is on this line.
#pragma warning restore CA1724
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none
ervan in op het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.CA1724.severity = none
Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.
Opmerking
namespace MyNamespace
{
// This class violates the rule
public class System
{
}
}