Share via


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.

Zie ook