C #: sopprime selettivamente gli avvisi Obsoleti personalizzati

Sto usando l’attributo Obsolete (come suggerito dagli altri programmatori) per mostrare un avvertimento se viene usato un determinato metodo.

C’è un modo per sopprimere l’avvertimento simile a CodeAnalysis ‘ SuppressMessage nei punti in cui l’uso è giustificato?

Grazie!

MODIFICARE

Questo è per [Obsolete("Some message")] poiché è necessario includere alcuni dettagli sull’avviso. Tuttavia, l’ #pragma warning disable 612 non funziona più una volta che aggiungo il messaggio all’attributo [Obsolete] nudo …

MODIFICA 2

Trovato il giusto numero di avviso – È 618 se si ha un messaggio che segue l’attributo obsoleto.

Quindi, per fare ciò che voglio fare:

#pragma warning disable 618

e poi dopo la chiamata

#pragma warning restore 618

Grazie a Jared Par e Jon Skeet per avermi indicato nella giusta direzione!

Usa #pragma warning disable :

 using System; class Test { [Obsolete("Message")] static void Foo(string x) { } static void Main(string[] args) { #pragma warning disable 0618 // This one is okay Foo("Good"); #pragma warning restore 0618 // This call is bad Foo("Bad"); } } 

Ripristina l’avviso in seguito in modo da non perdere le chiamate “cattive”.

L’ intento è di disabilitare l’avviso per l’ uso obsoleto, indipendentemente dal fatto che il costrutto sia contrassegnato con [Obsolete] o [Obsolete("Message")] . Quindi usa sia CS0612 che CS0618 :

 #pragma warning disable 612, 618 ... #pragma warning restore 612, 618 

Ecco come ottenere il numero di avviso / errore in primo luogo:

  1. Ricostruisci il tuo progetto.
  2. Vai alla finestra di output .
  3. Cercare la riga dell’avvertimento / errore che si desidera eliminare.
    Per esempio:
    C:\Users\Username\Documents\Visual Studio 2010\Projects\Projectname\Classname.cs(203,7): warning CS 0162 : Unreachable code detected 0162 : Unreachable code detected
  4. Copia la parte del numero dopoCS “.
  5. Quindi procedi come dice Jon Skeet.

(Meglio procedere sempre come dice Jon Skeet …)

Stai cercando la direttiva disable warning #pragma

In sostanza si aggiunge il seguente comando sopra il sito di chiamata nel file .cs.

 #pragma warning disable 612 SomeMethodCall 

612 è l’ID del messaggio di errore per chiamare metodi obsoleti