Désactiver / supprimer l'avertissement CS0649 en C# pour un champ spécifique de classe
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 à ces domaines, et de laisser l'avertissement est affiché pour les autres classes et d'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?
4 réponses
Vous pouvez utiliser #pragma warning
pour désactiver puis réactiver particulier avertissements:
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 à suppression des avertissements "is never used" Et "is never assigned to" EN C# pour une réponse étendue.
//disable warning here
#pragma warning disable 0649
//foo field declaration
//restore warning to previous state after
#pragma warning restore 0649
Je crois 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
}