Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0135

"deklaracja1" powoduje konflikt z deklaracją "deklaracja2"

Kompilator nie zezwala na ukrywanie nazw, co często prowadzi do błędów logiki w kodzie.

Przykład

Poniższy przykład generuje CS0135:

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

Z poziomu specyfikacji języka C#:

Jest to błąd przestrzeni deklaracji zmiennej lokalnej i zagnieżdżonej przestrzeni deklaracji zmiennej lokalnej zawierającej elementy o tej samej nazwie. W związku z tym w przestrzeni deklaracji zagnieżdżonej nie można zadeklarować zmiennej lokalnej ani stałej o takiej samej nazwie jak zmienna lokalna lub stała w otaczającej przestrzeni deklaracji. Istnieje możliwość, aby dwie spacje deklaracji zawierały elementy o tej samej nazwie, o ile żadna spacja deklaracji nie zawiera drugiej.