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.
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1041 |
Cím | Elavultattribute üzenet megadása |
Kategória | Tervez |
A javítás kompatibilitástörő vagy nem törik | Nem törés |
Alapértelmezés szerint engedélyezve a .NET 9-ben | Javaslatként |
Ok
Egy típus vagy tag olyan attribútummal System.ObsoleteAttribute van megjelölve, amely nem rendelkezik a tulajdonságával System.ObsoleteAttribute.Message .
Ez a szabály alapértelmezés szerint csak külsőleg látható típusokat és tagokat tekint meg, de ez konfigurálható.
Szabály leírása
ObsoleteAttribute elavult kódtártípusok és -tagok megjelölésére szolgál. A kódtár felhasználóinak kerülniük kell az elavultként megjelölt bármely típus vagy tag használatát. Ennek az az oka, hogy nem támogatott, és végül eltávolítja a kódtár későbbi verzióiból. Ha a rendszer lefordít egy típust ObsoleteAttribute vagy tagot, az Message attribútum tulajdonsága jelenik meg. Ez információt ad a felhasználónak az elavult típusról vagy tagról. Ezek az információk általában azt tartalmazzák, hogy a kódtár tervezői mennyi ideig támogatják az elavult típust vagy tagot, és hogy az előnyben részesített csere mennyi ideig használható.
Szabálysértések kijavítása
A szabály megsértésének kijavításához adja hozzá a message
paramétert a ObsoleteAttribute konstruktorhoz.
Mikor kell letiltani a figyelmeztetéseket?
Ne tiltsa el a szabály figyelmeztetését, mert a Message tulajdonság kritikus információkat nyújt az elavult típusról vagy tagról.
Kód konfigurálása elemzéshez
A következő beállítással konfigurálhatja, hogy a kódbázis mely részein futtassa ezt a szabályt.
Ezt a beállítást konfigurálhatja csak ehhez a szabályhoz, az összes szabályhoz, vagy az ebben a kategóriában (Tervezés) szereplő összes szabályhoz, amelyekre vonatkozik. További információ: Kódminőségi szabály konfigurációs beállításai.
Adott API-felületek belefoglalása
A api_surface beállítással konfigurálhatja, hogy a kódbázis mely részein futtassa a szabályt az akadálymentességük alapján. Ha például meg szeretné adni, hogy a szabály csak a nem nyilvános API-felületen fusson, adja hozzá a következő kulcs-érték párot a projekt egyik .editorconfig fájljához:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Jegyzet
Cserélje le a XXXX
CAXXXX
részét a vonatkozó szabály azonosítójára.
Példa
Az alábbi példa egy elavult tagot mutat be, amely helyesen deklarált ObsoleteAttribute.
[ObsoleteAttribute("This property is obsolete and will be removed in a " +
"future version. Use the FullName property instead.", false)]
public string Name
{
get => "Name";
}
Imports System
Namespace ca1041
Public Class ObsoleteAttributeOnMember
<ObsoleteAttribute("This property is obsolete and will " &
"be removed in a future version. Use the FirstName " &
"and LastName properties instead.", False)>
ReadOnly Property Name As String
Get
Return "Name"
End Get
End Property
ReadOnly Property FirstName As String
Get
Return "FirstName"
End Get
End Property
ReadOnly Property LastName As String
Get
Return "LastName"
End Get
End Property
End Class
End Namespace