Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
| Eigenschaft | Wert |
|---|---|
| Regel-ID | CA1041 |
| Titel | Stellen Sie die ObsoleteAttribute-Meldung bereit. |
| Kategorie | Design |
| Fix ist eine Breaking- oder Non-Breaking-Änderung | Nicht umbrechend |
| Standardmäßig in .NET 10 aktiviert | Als Vorschlag |
| Anwendbare Sprachen | C# und Visual Basic |
Ursache
Ein Typ oder Member wird mit einem System.ObsoleteAttribute-Attribut markiert, dessen System.ObsoleteAttribute.Message-Eigenschaft nicht angegeben ist.
Standardmäßig werden mit dieser Regel nur extern sichtbare Typen und Member überprüft, aber dies ist konfigurierbar.
Regelbeschreibung
ObsoleteAttribute wird verwendet, um veraltete Bibliothekstypen und -elemente zu markieren. Bibliotheksbenutzer sollten die Verwendung von Typen oder Elementen vermeiden, die als veraltet gekennzeichnet sind. Der Grund dafür ist, dass sie möglicherweise nicht unterstützt und aus späteren Versionen der Bibliothek entfernt werden. Wenn ein mit
Behebung von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, fügen Sie den message-Parameter zum ObsoleteAttribute-Konstruktor hinzu.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung von dieser Regel, da die Message-Eigenschaft wichtige Informationen über den veralteten Typ oder das veraltete Member bereitstellt.
Konfigurieren des zu analysierenden Codes
Mithilfe der folgenden Option können Sie konfigurieren, für welche Teile Ihrer Codebasis diese Regel ausgeführt werden soll.
Sie können diese Optionen nur für diese Regel, für alle zutreffenden Regeln oder für alle zutreffenden Regeln in dieser Kategorie (Entwurf) konfigurieren. Weitere Informationen finden Sie unter Konfigurationsoptionen für die Codequalitätsregel.
Einschließen bestimmter API-Oberflächen
Sie können konfigurieren, auf welchen Teilen Ihrer Codebasis je nach Barrierefreiheit diese Regel ausgeführt werden soll, indem Sie die Option api_surface festlegen. Sie können beispielsweise festlegen, dass die Regel nur für die nicht öffentliche API-Oberfläche ausgeführt werden soll, indem Sie einer EDITORCONFIG-Datei in Ihrem Projekt das folgende Schlüssel-Wert-Paar hinzufügen:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Hinweis
Ersetzen Sie den XXXX-Teil von CAXXXX durch die ID der anwendbaren Regel.
Beispiel
Das folgende Beispiel zeigt ein veraltetes Mitglied, das ein korrekt deklariertes ObsoleteAttribute aufweist.
[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