Ler em inglês

Compartilhar via


Erro do Compilador CS0135

"declaration1" entra em conflito com a declaração "declaration2"

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

Exemplo

O seguinte exemplo gera o erro 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 que um espaço de declaração de variável local e um espaço de declaração de variável local aninhado contenham elementos com o mesmo nome. Portanto, dentro do espaço de uma declaração aninhada, não é possível declarar uma variável local ou constante com o mesmo nome que uma variável local ou constante em um espaço de declaração fechado. É 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.