Leer en inglés

Compartir a través de


Error del compilador CS0542

'user-defined type': los nombres de los miembros no pueden coincidir con sus tipos envolventes

Los miembros de una clase o una estructura no pueden tener el mismo nombre que la clase o la estructura, a menos que el miembro sea un constructor.

El ejemplo siguiente genera la advertencia CS0542:

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

Este error podría producirse si coloca accidentalmente un tipo de valor devuelto en un constructor, que a todos los efectos se convierte en un método normal. En el ejemplo siguiente se genera el error CS0542 porque F es un método, no un constructor, ya que tiene un tipo de valor devuelto:

C#
// 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()  
   {  
   }  
}