Gibt es eine Anmerkung in .NET, die Methoden oder Klassen können veraltet sein, so dass ihre Nutzung und ihre Anrufer durch den Compiler (@deprecated cf in Java) identifiziert werdenWas ist das .NET-Äquivalent von @Deprecated in Java?
12
A
Antwort
43
Das [Obsolete]
Attribut.
Sie können einen Kommentar hinzufügen, was die Leute verwenden sollte, zum Beispiel:
[Obsolete("Use NewMethod() instead")]
public void OldMethod()
{
}
Wenn Sie einen Compiler-Fehler generiert werden soll, wenn die Leute Ihre Methode:
[Obsolete("Use NewMethod() instead", true)]
public void OldMethod()
{
}
Dies ist ein Beispiel für eine Methode, aber sie kann für fast jedes Attributziel verwendet werden. Vollständige Dokumente finden Sie unter here.
Da die Frage leicht bearbeitet wurde, werde ich die VB.NET-Syntax als auch, fügen Sie die am häufigsten verwendeten .NET-Sprachen abdecken:
<Obsolete("Use NewMethod() instead")> _
Public Sub OldMethod()
End Sub
9
[Obsolete] - here für Dokumentation darauf. Das Hinzufügen zu einer Methode oder Klasse gibt einen Compiler-Warnung, wenn jemand versucht, es zu verwenden, mit der benutzerdefinierten Nachricht, die Sie dem Attribut bei Bedarf
+1 für den Compiler-Fehler geben –
Ich nehme an, das ist eine Compiler-Warnung, wenn Sie möchten ein Fehler löschen Sie einfach die Funktion. – thelem
Nein, es ist ein Compilerfehler. Es ist nicht dasselbe wie das Löschen der Methode, da Software, die mit einer älteren Version der betreffenden Assembly kompiliert wurde, weiterhin mit der neuen Version der Assembly funktioniert. – Thorarin