Lire en anglais

Partager via


Erreur du compilateur CS0542

'user-defined type' : les noms de membres doivent être différents de leur type englobant

Les membres d’une classe ou d’un struct ne peuvent pas porter le même nom que la classe ou le struct, sauf s’ils sont des constructeurs.

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

// CS0542.cs  
class C  
{  
    public int C;  
}  

Cette erreur peut se produire si vous placez par inadvertance un type de retour sur un constructeur, ce qui en fait une méthode ordinaire. L’exemple suivant génère l’erreur CS0542 parce que F est une méthode, et non pas un constructeur, puisqu’elle a un type de retour :

// CS0542.cs  
class F  
{  
   // Remove void from F() to resolve the problem.  
   void F()   // CS0542, same name as the class  
   {  
   }  
}  
  
class MyClass  
{  
   public static void Main()  
   {  
   }  
}