閱讀英文

共用方式為


編譯器錯誤 CS0542

'user-defined type':成員名稱不能與它的封入類型名稱相同

類別或結構的成員不能有相同名稱的類別或結構,除非該成員是建構函式。

下列範例會產生 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()  
   {  
   }  
}