編譯器錯誤 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()
{
}
}