Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk a .NET-alkalmazás létrehozásakor a kódelemzésből származó figyelmeztetések letiltásának különböző módjait ismerteti. Az itt megadott információk segítségével letilthatja a kódminőségi szabályokat, a kódstílus-szabályokat és a külső elemző szabályokat.
Jótanács
Ha a Visual Studio-t használja fejlesztési környezetként, a villanykörte menü olyan lehetőségeket kínál, amelyek a kódot generálják a figyelmeztetések letiltásához. További információ: Szabálysértések letiltása.
A szabály letiltása
Letilthat egy figyelmeztetést okozó szabályt, ha annak súlyosságát none egy EditorConfig vagy AnalyzerConfig konfigurációs fájlban állítja be. Ez a művelet letiltja a teljes fájl vagy projekt szabályát a használt konfigurációs fájl hatókörétől függően.
[*.{cs,vb}]
dotnet_diagnostic.<rule-ID>.severity = none
A szabály súlyosságáról további információt a szabály súlyosságának konfigurálása című témakörben talál.
Preprocesszor-direktíva használata
Használjon #pragma figyelmeztetést (C#) vagy Tiltsa le (Visual Basic) irányelvvel, hogy csak egy adott kódsorra vonatkozó figyelmeztetést tiltson le.
try { ... }
catch (Exception e)
{
#pragma warning disable CA2200 // Rethrow to preserve stack details
throw e;
#pragma warning restore CA2200 // Rethrow to preserve stack details
}
Try
...
Catch e As Exception
#Disable Warning CA2200 ' Rethrow to preserve stack details
Throw e
#Enable Warning CA2200 ' Rethrow to preserve stack details
End Try
A SuppressMessageAttribute használata
A figyelmeztetést a forrásfájlban vagy a projekt globális tiltófájljában (SuppressMessageAttribute vagy GlobalSuppressions.vb) is letilthatja. Ez az attribútum lehetővé teszi a figyelmeztetések letiltását a projekt vagy fájl csak bizonyos részeiben.
Az attribútum két szükséges pozícióparamétere SuppressMessageAttribute a szabály kategóriája és a szabályazonosító. A következő kódrészlet az alábbi paramétereket adja át: "Usage" és "CA2200:Rethrow to preserve stack details".
[System.Diagnostics.CodeAnalysis.SuppressMessage("Usage", "CA2200:Rethrow to preserve stack details", Justification = "Not production code.")]
private static void IgnorableCharacters()
{
try
{
...
}
catch (Exception e)
{
throw e;
}
}
Ha hozzáadja az attribútumot a globális letiltási fájlhoz, a letiltást a kívánt szintre kell korlátoznia , például "member". Megadhatja azt az API-t, amelyben a figyelmeztetést el kell tiltani a Target tulajdonság használatával.
[assembly: SuppressMessage("Usage", "CA2200:Rethrow to preserve stack details", Justification = "Not production code.", Scope = "member", Target = "~M:MyApp.Program.IgnorableCharacters")]
Használja az attribútumban hivatkozni kívánt API dokumentációazonosítójátTarget. A dokumentáció azonosítóinak formátumáról további információt a Dokumentációs azonosító formátumnál talál.
Ha el szeretné nyomni a figyelmeztetéseket olyan fordító által létrehozott kóddal kapcsolatban, amely nem képez le kifejezetten megadott felhasználói forrást, a figyelmeztetés elnyomási attribútumot egy globális elnyomási fájlba kell helyeznie. A következő kód például letiltja a fordító által kibocsátott konstruktorok megsértését:
[module: SuppressMessage("Design", "CA1055:AbstractTypesDoNotHavePublicConstructors", Scope="member", Target="MyTools.Type..ctor()")]