Lire en anglais

Partager via


Erreur du compilateur CS0135

Conflit entre 'declaration1' et la déclaration 'declaration2'

Le compilateur ne permet pas le masquage de noms, qui génère souvent des erreurs logiques dans votre code.

Exemple

L’exemple suivant génère l’erreur CS0135 :

// CS0135.cs  
public class MyClass2  
{  
   public static int i = 0;  
  
   public static void Main()  
   {  
      {  
         int i = 4;  
         i++;  
      }  
      i = 0;   // CS0135  
   }  
}  

Extrait de la Spécification du langage C# :

Le fait qu’un espace de déclaration de variable locale et un espace de déclaration de variable locale imbriqué contiennent des éléments portant le même nom constitue une erreur. Ainsi, dans un espace de déclaration imbriqué, il est impossible de déclarer une variable locale ou une constante portant le même nom qu’une variable locale ou qu’une constante au sein d’un espace de déclaration englobant. Deux espaces de déclaration peuvent contenir des éléments qui portent le même nom à condition qu’aucun des deux espaces ne contienne l’autre.