共用方式為


編譯器錯誤 CS0542

更新:2007 年 11 月

錯誤訊息

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

相同的建構函式名稱已使用一次以上。此錯誤可能是由於您不慎在建構函式中放置傳回型別所造成。

下列範例會產生 CS0542:

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

如果您的類別命名為 'Item',並且擁有宣告為 this 的索引子 (Indexer),則可能會出現這個錯誤。預設的索引子在發出的程式碼中命名為 'Item',因此造成衝突。

// CS0542b.cs
class Item
{
   public int this[int i]  // CS0542
   {
      get
      {
         return 0;
      }
   }
}

class CMain
{
   public static void Main()
   {
   }
}