Megosztás a következőn keresztül:


CA1041: ElavultAttribute üzenet megadása

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 XXXXCAXXXX 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

Lásd még