J'ai quelques champs dans une classe C # que j'initialise en utilisant la réflexion. Le compilateur affiche un avertissement CS0649 pour eux:
Champ
foo' is never assigned to, and will always have its default value
null '(CS0649) (Assembly-CSharp)
Je voudrais désactiver l'avertissement pour ces champs spécifiques uniquement et laisser l'avertissement s'afficher pour les autres classes et les autres champs de cette classe. Il est possible de désactiver CS0649 pour l'ensemble du projet, y a-t-il quelque chose de plus fin?
Vous pouvez utiliser #pragma warning
pour désactiver puis réactiver des avertissements particuliers:
public class MyClass
{
#pragma warning disable 0649
// field declarations for which to disable warning
private object foo;
#pragma warning restore 0649
// rest of class
}
Reportez-vous à Supprimer les avertissements "n'est jamais utilisé" et "n'est jamais affecté à" en C # pour une réponse développée.
//disable warning here
#pragma warning disable 0649
//foo field declaration
//restore warning to previous state after
#pragma warning restore 0649
Je pense qu'il vaut la peine de noter que l'avertissement peut également être supprimé en utilisant un initialiseur de champ. Cela encombre beaucoup moins votre code.
public class MyClass
{
// field declarations for which to disable warning
private object foo = null;
// rest of class
}
public class YouClass
{
#pragma warning disable 649
string foo;
#pragma warning restore 649
}