Naamruimte komt niet overeen met de mapstructuur (IDE0130)
Eigenschap | Waarde |
---|---|
Regel-id | IDE0130 |
Titel | Naamruimte komt niet overeen met de mapstructuur |
Categorie | Stijl |
Subcategorie | Taalregels (voorkeuren op expressieniveau) |
Toepasselijke talen | C# en Visual Basic |
Opties | dotnet_style_namespace_match_folder |
Overzicht
Deze stijlregel gebruikt de mapstructuur van het project om naamruimtenaamvereisten af te dwingen.
Opties
Met opties wordt het gedrag opgegeven dat door de regel moet worden afgedwongen. Zie Optie-indeling voor meer informatie over het configureren van opties.
dotnet_style_namespace_match_folder
Eigenschap | Waarde | Beschrijving |
---|---|---|
Naam van optie | dotnet_style_namespace_match_folder | |
Optiewaarden | true |
Geef de voorkeur aan naamruimtenamen die overeenkomen met de mapstructuur. |
false |
Hiermee schakelt u de regel uit. | |
Waarde van standaardoptie | true |
Notitie
De dotnet_style_namespace_match_folder
optie 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 opdrachtregelbuilds, zoals dotnet build
. Opdrachtregelbuilds werken alleen als u de volgende eigenschappen aan het projectbestand toevoegt:
<ItemGroup>
<CompilerVisibleProperty Include="RootNamespace" />
<CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>
Voorbeeld
Stel dat de volgende codefragmenten afkomstig zijn uit een bestand met de naam Data/Example.cs
of Data/Example.vb
, waarbij Data
de mapstructuur van het projectbestand wordt vertegenwoordigd. De naamgeving van de mapstructuur wordt toegevoegd aan de hoofdnaamruimte, die in dit voorbeeld is Root
.
// 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 preprocessor-instructies 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 in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0130.severity = none
Als u alle codestijlregels 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
Zie Waarschuwingen voor codeanalyse onderdrukken voor meer informatie.