2009-09-04 2 views

Répondre

41

Oui.

Pour désactiver, utilisez:

#pragma warning disable 0169, 0414, anyothernumber 

Lorsque les chiffres sont les identifiants des avertissements que vous pouvez lire à partir de la sortie du compilateur.

Pour réactiver les avertissements après une partie particulière du code (ce qui est une bonne idée) utiliser:

#pragma warning restore 0169, anythingelse 

De cette façon, vous pouvez faire la sortie du compilateur propre, et vous garder en sécurité parce que les mises en garde seront seulement être supprimé pour cette partie particulière du code (où vous vous êtes assuré que vous n'avez pas besoin de les voir).

+0

Je ne suis pas sûr si les chiffres sont interprétés correctement ici. Le zéro principal est analysé comme 'octal' en général. Il peut donc être prudent de l'ignorer. (pas essayé cependant) – fmuecke

+1

@fmuecke Semble fonctionner de toute façon (dans le compilateur mono au moins.) Ce que vous dites est vrai pour les littéraux dans l'analyseur C#, mais je suppose que le préprocesseur analyse différemment les littéraux numériques. – Eliot

+0

@ TamásSzelei Cela ne fonctionne que pour SonarLint localement. Je vois toujours ces erreurs signalées dans les résultats du serveur SonarQube. – ConfusedDeer

5

Il y a. Voir la page MSDN sur la façon de supprimer les avertissements du compilateur. À partir de Visual Studio, accédez aux propriétés de votre projet, sélectionnez l'onglet de génération et entrez le numéro d'avertissement dans le champ Suppress Warnings.

De code, pour désactiver les avertissements spécifiques, vous pouvez utiliser la directive #pragma:

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

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

Oui, il est que vous pouvez utiliser l'annotation d'avertissement de pragma comme ceci:

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

en omettant les numéros désactive et restaure tous les codes d'avertissement ...

0

Je suppose que vous pouvez également essayer d'examiner le projet ou les propriétés de la solution et définissez votre niveau d'avertissement à un niveau inférieur ou plus. Sinon, les autres réponses sont peut-être meilleures.

2

Je recommande fortement d'utiliser le formulaire suivant

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

#pragma warning restore 649 

Le commentaire sur la première ligne est tirée de la première comme de la documentation MSDN pour Compiler Warning (level 4) CS0649 . Puisque les avertissements sont numérotés en C#, il s'agit de votre seule référence à ce qui se passe réellement dans le code lorsque vous voyez un avertissement désactivé. Le placer à la fin de la ligne est le seul moyen d'obtenir la raison d'apparaître dans la fenêtre des résultats de recherche lorsque vous effectuez une recherche dans votre solution complète pour pragma warning.

Vous pouvez identifier les numéros d'avertissement en regardant dans la fenêtre Sortie après avoir construit votre projet.Assurez-vous qu'il indique Afficher la sortie de: Build.

Questions connexes