Lire en anglais

Partager via


Avertissement du compilateur (niveau 3) CS0414

Le champ privé 'field' est assigné, mais sa valeur n’est jamais utilisée

Cet avertissement peut se produire dans plusieurs scénarios dans lesquels le compilateur peut vérifier qu’une variable n’est jamais référencée :

  • Une valeur de constante est assignée à un champ privé, mais ce dernier n’est jamais lu ensuite. Cette affectation inutile risque d’affecter les performances. Supprimez le champ.

  • Une valeur de constante est assignée à un champ statique privé ou interne uniquement dans l’initialiseur. Transformez le champ en constante (const).

  • Des valeurs de constante sont assignées à un champ privé ou interne qui n’est utilisé que dans des blocs exclus par des directives #ifdef. Envisagez de placer le champ à l’intérieur du bloc #ifdef.

  • Des valeurs de constante sont assignées à un champ privé ou interne dans plusieurs emplacements, mais ce champ ne fait l’objet d’aucun autre accès. Si vous n’avez pas besoin de ce champ, envisagez de le supprimer. Sinon, utilisez-le de manière appropriée.

Dans d’autres situations, ou lorsque la solution de contournement suggérée n’est pas acceptable, utilisez #pragma 0414.

L’exemple suivant illustre un cas de génération d’une erreur CS0414 :

C#
// CS0414
// compile with: /W3
class C
{
   private int i = 1;  // CS0414

   public static void Main()
   { }
}

Notes

Si la variable i est déclarée comme protected ou public, aucune erreur n’est générée, car le compilateur ne peut pas savoir si une classe dérivée peut l’utiliser ou un autre code client peut instancier la classe et référencer la variable

Voir aussi