Wie markiere ich eine Methode mit C # als veraltet oder veraltet ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 ). Dient einem etwas anderen Zweck.
Wie markiere ich eine Methode mit C # als veraltet oder veraltet ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 ). Dient einem etwas anderen Zweck.
Antworten:
Der kürzeste Weg ist das Hinzufügen des AttributsObsoleteAttribute
as als Attribut zur Methode . Stellen Sie sicher, dass Sie eine angemessene Erklärung hinzufügen:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
Sie können auch dazu führen, dass die Kompilierung fehlschlägt, indem Sie die Verwendung der Methode als Fehler anstatt als Warnung behandeln , wenn die Methode von einer beliebigen Stelle im Code wie folgt aufgerufen wird:
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
Mit einer Warnung als veraltet markieren:
[Obsolete]
private static void SomeMethod()
Sie erhalten eine Warnung, wenn Sie es verwenden:
Und mit IntelliSense:
Wenn Sie eine Nachricht wünschen:
[Obsolete("My message")]
private static void SomeMethod()
Hier ist der IntelliSense-Tooltipp:
Wenn Sie möchten, dass die Verwendung als Fehler gekennzeichnet wird:
[Obsolete("My message", true)]
private static void SomeMethod()
Bei Verwendung erhalten Sie Folgendes:
Hinweis: Verwenden Sie die Nachricht, um den Benutzern mitzuteilen, was sie stattdessen verwenden sollen, und nicht, warum sie veraltet ist.
Fügen Sie der Methode mit dem Schlüsselwort eine Anmerkung hinzu Obsolete
. Das Nachrichtenargument ist optional, aber eine gute Idee, um mitzuteilen, warum das Element jetzt veraltet ist und / oder was stattdessen verwendet werden soll.
Beispiel:
[System.Obsolete("use myMethodB instead")]
void myMethodA()
Mit können ObsoleteAttribute
Sie die veraltete Methode anzeigen. Das veraltete Attribut hat drei Konstruktoren:
[Obsolete]:
ist ein Konstruktor ohne Parameter und wird standardmäßig mit diesem Attribut verwendet.[Obsolete(string message)]:
In diesem Format erfahren Sie,message
warum diese Methode veraltet ist.[Obsolete(string message, bool error)]:
In diesem Format ist die Nachricht sehr explizit,error
bedeutet jedoch , dass der Compiler in der Kompilierungszeit einen Fehler anzeigen und dazu führen muss, dass die Kompilierung fehlschlägt oder nicht.