Compilerfehler CS0542
Aktualisiert: November 2007
Fehlermeldung
"Benutzerdefinierter Typ" : Membernamen dürfen nicht mit dem Namen des sie einschließenden Typs identisch sein.
'user-defined type' : member names cannot be the same as their enclosing type
Innerhalb eines Konstrukts wurde derselbe Name mehrfach verwendet. Dieser Fehler kann durch das versehentliche Platzieren eines Rückgabetyps in einem Konstruktor verursacht werden.
Im folgenden Beispiel wird CS0542 generiert:
// 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()
{
}
}
Dieser Fehler wird möglicherweise angezeigt, wenn eine Klasse mit 'Item' benannt ist und sie einen als this deklarierten Indexer aufweist. Im ausgegebenen Code wird einem Standardindexer der Name 'Item' zugewiesen. Dies verursacht den Konflikt.
// CS0542b.cs
class Item
{
public int this[int i] // CS0542
{
get
{
return 0;
}
}
}
class CMain
{
public static void Main()
{
}
}