it-swarm.com.de

Wie markiere ich eine Methode als veraltet oder veraltet?

Wie markiere ich eine Methode mit C # als veraltet oder veraltet?

927
Chris Ballance

Der kürzeste Weg ist das Hinzufügen von ObsoleteAttribute als Attribut der Methode . Stellen Sie sicher, dass Sie eine entsprechende 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 behandeln, anstatt zu warnen , wenn die Methode irgendwo im Code wie folgt aufgerufen wird:

[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
1484
Chris Ballance

Mit einer Warnung als veraltet markieren:

[Obsolete]
private static void SomeMethod()

Sie erhalten eine Warnung, wenn Sie es verwenden:

Obsolete warning is shown

Und mit IntelliSense:

Obsolete warning with IntelliSense

Wenn Sie eine Nachricht wünschen:

[Obsolete("My message")]
private static void SomeMethod()

Hier ist der IntelliSense-Tooltipp:

IntelliSense shows the obsolete message

Zum Schluss, wenn Sie möchten, dass die Verwendung als Fehler gekennzeichnet wird:

[Obsolete("My message", true)]
private static void SomeMethod()

Bei Verwendung erhalten Sie Folgendes:

Method usage is displayed as an error

Hinweis: Verwenden Sie die Nachricht, um den Benutzern mitzuteilen, was sie stattdessen verwenden sollen, und nicht, warum sie veraltet ist.

111
mark_h

Fügen Sie der Methode eine Anmerkung mit dem Schlüsselwort Obsolete hinzu. Das Argument message ist optional, es empfiehlt sich jedoch, anzugeben, warum das Element jetzt veraltet ist und/oder was stattdessen verwendet werden soll.
Beispiel:

[System.Obsolete("use myMethodB instead")]
void myMethodA()
63
jchadhowell

Mit ObsoleteAttribute können Sie die veraltete Methode anzeigen. Das veraltete Attribut hat drei Konstruktoren:

  1. [Obsolete]: ist ein Konstruktor ohne Parameter und wird standardmäßig mit diesem Attribut verwendet.
  2. [Obsolete(string message)]: In diesem Format können Sie message erfahren, warum diese Methode veraltet ist.
  3. [Obsolete(string message, bool error)]: in dieser Formatnachricht ist sehr explizit, aber error bedeutet, dass der Compiler während der Kompilierungszeit einen Fehler anzeigen muss und die Kompilierung fehlschlagen kann oder nicht.

enter image description here

29
Sina Lotfi