Ler em inglês

Partilhar via


Erro do compilador CS0135

«declaração1» entra em conflito com a declaração «declaração2»

O compilador não permite ocultar nomes, o que geralmente leva a erros de lógica em seu código.

Exemplo

O exemplo a seguir gera CS0135:

// CS0135.cs  
public class MyClass2  
{  
   public static int i = 0;  
  
   public static void Main()  
   {  
      {  
         int i = 4;  
         i++;  
      }  
      i = 0;   // CS0135  
   }  
}  

Da especificação da linguagem C#:

É um erro para um espaço de declaração de variável local e um espaço de declaração de variável local aninhado para conter elementos com o mesmo nome. Assim, dentro de um espaço de declaração aninhado, não é possível declarar uma variável ou constante local com o mesmo nome de uma variável ou constante local em um espaço de declaração anexo. É possível que dois espaços de declaração contenham elementos com o mesmo nome, desde que nenhum espaço de declaração contenha o outro.