Прочитать на английском

Поделиться через


Ошибка компилятора CS0542

"определенный пользователем тип": имена членов не могут совпадать с именем типа, в который они входят

Члены класса или структуры не могут иметь то же имя, что у класса или структуры, если член не является конструктором.

Следующий пример приводит к возникновению ошибки CS0542:

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

Эта ошибка может возникнуть, если вы случайно задали для конструктора тип возвращаемого значения, что фактически превращает его в обычный метод. Следующий пример приводит к возникновению ошибки CS0542, так как F является методом, а не конструктором, поскольку имеет тип возвращаемого значения:

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