CS0542 de erro do compilador
Mensagem de erro
'tipo definido pelo usuário': nomes de membro não podem ser o mesmo que seu tipo delimitador
Mais de uma vez, foi usado um nome no mesma a construção.Este erro pode ser causado colocando inadvertidamente um tipo de retorno em um construtor.
O exemplo a seguir gera 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()
{
}
}
Se sua classe é nomeada 'Item' e tem um indexador declarado sistema autônomo this, este erro poderá ocorrer. Um indexador padrão será atribuído o nome 'Item' no código emitido, criando o conflito.
// CS0542b.cs
class Item
{
public int this[int i] // CS0542
{
get
{
return 0;
}
}
}
class CMain
{
public static void Main()
{
}
}