Come contrassegnare un metodo come obsoleto o deprecato?

Come contrassegno un metodo come obsoleto o deprecato usando C #?

Il modo più breve è aggiungere l’ ObsoleteAttribute come attributo al metodo . Assicurati di includere una spiegazione appropriata:

 [Obsolete("Method1 is deprecated, please use Method2 instead.")] public void Method1() { … } 

È inoltre ansible che la compilazione abbia esito negativo, trattando l’utilizzo del metodo come un errore anziché un avvertimento, se il metodo viene chiamato da qualche parte nel codice in questo modo:

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

Per contrassegnare come obsoleto con un avviso:

 [Obsolete] private static void SomeMethod() 

Ricevi un avvertimento quando lo usi:

Viene visualizzato un avviso obsoleto

E con IntelliSense:

Avviso obsoleto con IntelliSense

Se vuoi un messaggio:

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

Ecco il suggerimento per IntelliSense:

IntelliSense mostra il messaggio obsoleto

Infine se vuoi che l’utilizzo sia contrassegnato come un errore:

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

Quando viene usato questo è ciò che ottieni:

L'utilizzo del metodo viene visualizzato come un errore

Nota: usa il messaggio per dire alle persone cosa dovrebbero invece usare, non perché è obsoleto.

Aggiungi un’annotazione al metodo usando la parola chiave Obsolete . L’argomento del messaggio è facoltativo ma è una buona idea comunicare perché l’object è ora obsoleto e / o cosa usare invece.
Esempio:

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

Con ObsoleteAttribute è ansible mostrare il metodo deprecated . L’attributo obsoleto ha tre costruttori:

  1. [Obsolete]: è un costruttore senza parametri ed è un valore predefinito che utilizza questo attributo.
  2. [Obssolete(string message)]: in questo formato è ansible ottenere il message del perché questo metodo è deprecato.
  3. [Obsolete(string message, bool error)]: in questo formato il messaggio è molto esplicito ma l’ error significa che, in fase di compilazione, il compilatore deve mostrare errore e causare la compilazione fallita o meno.

inserisci la descrizione dell'immagine qui