A névtér nem egyezik a mappaszerkezettel (IDE0130)
Tulajdonság | Érték |
---|---|
Szabályazonosító | IDE0130 |
Cím | A névtér nem egyezik a mappastruktúrával |
Kategória | Stílus |
Alkategória | Nyelvi szabályok (kifejezésszintű beállítások) |
Alkalmazandó nyelvek | C# és Visual Basic |
Beállítások | dotnet_style_namespace_match_folder |
Áttekintés
Ez a stílusszabály a projekt mappastruktúráját használja a névtér elnevezési követelményeinek kikényszerítéséhez.
Beállítások
A beállítások határozzák meg, hogy a szabály milyen viselkedést kíván érvényesíteni. A beállítások konfigurálásával kapcsolatos információkért lásd: Beállításformátum.
dotnet_style_namespace_match_folder
Tulajdonság | Érték | Leírás |
---|---|---|
Beállítás neve | dotnet_style_namespace_match_folder | |
Beállításértékek | true |
A névtér elnevezését inkább a mappaszerkezetnek megfelelő névtérnévvel szeretné egyeztetni. |
false |
Letiltja a szabályt. | |
Alapértelmezett beállításérték | true |
Megjegyzés
A dotnet_style_namespace_match_folder
beállítás az aktuális projekt- és gyökérnévtértulajdonságok ismeretétől függ. Ezeket az információkat a Visual Studio szolgáltatja, de nem érhető el parancssori buildekhez, például dotnet build
. A parancssori buildek működéséhez a következő tulajdonságokat kell hozzáadnia a projektfájlhoz:
<ItemGroup>
<CompilerVisibleProperty Include="RootNamespace" />
<CompilerVisibleProperty Include="ProjectDir" />
</ItemGroup>
Példa
Tegyük fel, hogy a következő kódrészletek egy vagy Data/Example.vb
nevű Data/Example.cs
fájlból származnak, ahol Data
a projektfájl mappastruktúráját jelöli. A mappaszerkezet elnevezése hozzá lesz adva a gyökérnévtérhez, amely ebben a példában a következő 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
Figyelmeztetés mellőzése
Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozói irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.
#pragma warning disable IDE0130
// The code that's violating the rule is on this line.
#pragma warning restore IDE0130
Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa a súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_diagnostic.IDE0130.severity = none
Az összes kódstílus-szabály letiltásához állítsa a kategória Style
súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
További információ: Kódelemzési figyelmeztetések mellőzése.