Naamruimte komt niet overeen met mapstructuur (IDE0130)
Eigenschap | Waarde |
---|---|
Regel-ID | IDE0130 |
titel | Naamruimte komt niet overeen met mapstructuur |
Categorie | Stijl |
Subcategorie | Taalregels (voorkeuren op expressieniveau) |
Toepasselijke talen | C# en Visual Basic |
opties | dotnet_style_namespace_match_folder |
Overzicht
Deze stijlregel maakt gebruik van de mapstructuur van het project om naamruimtenaamgevingsvereisten af te dwingen.
Opties
Met opties geeft u het gedrag op dat door de regel moet worden afgedwongen. Zie Option-indelingvoor meer informatie over het configureren van opties.
dotnet_style_namespace_match_folder
Eigendom | Waarde | Beschrijving |
---|---|---|
Optienaam | dotnet_style_namespace_match_folder | |
optiewaarden | true |
Geef de voorkeur aan naamruimtenaamgeving die overeenkomt met de mapstructuur. |
false |
Schakelt de regel uit. | |
standaardoptiewaarde | true |
Notitie
De optie dotnet_style_namespace_match_folder
is afhankelijk van het kennen van de eigenschappen van het huidige project en de hoofdnaamruimte. Deze informatie wordt geleverd door Visual Studio, maar is niet beschikbaar voor command-line builds, zoals dotnet build
. Voor het werken met opdrachtregel-builds moet u de volgende eigenschappen toevoegen aan uw projectbestand.
<ItemGroup>
<CompilerVisibleProperty Include="RootNamespace" />
<CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>
Voorbeeld
Stel dat de volgende codefragmenten afkomstig zijn van een bestand met de naam Data/Example.cs
of Data/Example.vb
, waarbij Data
de mapstructuur uit het projectbestand vertegenwoordigt. De naamgeving van de mapstructuur wordt toegevoegd aan de hoofdnaamruimte, die in dit voorbeeld Root
is.
// Code with violations
namespace Root.BadExample
{
class Example
{
public void M()
{
}
}
}
// Fixed code
namespace Root.Data
{
class Example
{
public void M()
{
}
}
}
' Code with violations
Namespace Root.BadExample
Class Example
Public Sub M()
End Sub
End Class
End Namespace
' Fixed code
Namespace Root.Data
Class Example
Public Sub M()
End Sub
End Class
End Namespace
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 IDE0130
// The code that's violating the rule is on this line.
#pragma warning restore IDE0130
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst ervan in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0130.severity = none
Als u alle regels voor de codestijl wilt uitschakelen, stelt u de ernst voor de categorie Style
in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Voor meer informatie, zie Hoe codeanalysewaarschuwingen te onderdrukken.