2009-09-04 11 views

risposta

41

Sì.

Per disabilitare, utilizzare:

#pragma warning disable 0169, 0414, anyothernumber 

dove i numeri sono gli identificatori degli avvertimenti che potete leggere da output del compilatore.

per riattivare gli avvertimenti dopo una particolare parte del codice (che è una buona idea) utilizzare:

#pragma warning restore 0169, anythingelse 

In questo modo è possibile effettuare l'output del compilatore pulita, e tenere al sicuro perché gli avvertimenti saranno solo essere soppressi per quella particolare parte di codice (dove ci si è assicurati che non sia necessario vederli).

+0

Non sono sicuro che i numeri vengano interpretati correttamente. Lo zero iniziale viene analizzato come "ottale" in generale. Quindi potrebbe essere sicuro saltarlo. (non provato però) – fmuecke

+1

@fmuecke Sembra funzionare in entrambi i modi (almeno nel compilatore mono). Quello che dici è vero per i letterali nel parser C#, ma suppongo che il preprocessore analizzi i numeri letterali in modo diverso. – Eliot

+0

@ TamásSzelei Funziona solo per SonarLint localmente. Sto ancora vedendo questi errori riportati nei risultati del server SonarQube. – ConfusedDeer

5

C'è. Vedere la pagina MSDN su come sopprimere gli avvisi del compilatore.

Da Visual Studio, passare alle proprietà del progetto, selezionare la scheda di creazione e immettere il numero di avviso nel campo Sospendi avvisi.

dal codice, per disabilitare gli avvisi specifici, è possibile utilizzare la direttiva # pragma:

public class MyClass 
{ 
    #pragma warning disable 0168 
    // code 

    // optionally, restore warnings again 
    #pragma warning restore 0168 
    // more code 
} 
14

Sì, c'è che si può usare l'annotazione avvertimento pragma in questo modo:

#pragma warning disable 414 
//some code that generates a warning 
#pragma warning restore 414 

omettendo i numeri disabili e ripristina tutti i codici di avvertimento ...

0

Credo che si potrebbe anche provare a rivedere il progetto o le proprietà della soluzione e impostare il livello di avviso su un livello inferiore o giù di lì. Altrimenti, le altre risposte sono forse migliori.

2

Mi consiglia di utilizzare il seguente modulo

#pragma warning disable 649 // Field 'field' is never assigned to, and will always have its default value 'value' 

#pragma warning restore 649 

Il commento sulla prima riga è tratto dalla prima come della documentazione MSDN per Compiler Warning (level 4) CS0649 . Poiché gli avvertimenti sono numerati in C#, questo è il tuo unico riferimento a ciò che sta effettivamente accadendo nel codice quando vedi un avvertimento disabilitato. Posizionarlo alla fine della linea è l'unico modo per ottenere il motivo di comparire nella finestra dei risultati di ricerca quando si effettua una ricerca nell'intera soluzione per l'avviso di pragma .

È possibile identificare i numeri di avviso guardando nella finestra Output dopo aver creato il progetto.Assicurati che sia scritto Mostra output da: Build.

Problemi correlati