Leer en inglés

Compartir a través de


Error del compilador CS0136

No se puede declarar una variable local denominada 'var' en este ámbito, porque daría un significado diferente a 'var', que ya se utilizó en un ámbito 'parent or current/child' con otra denotación

Una declaración de variable oculta otra declaración que de otra forma estaría en el ámbito. Cambie el nombre de la variable que se declara en la línea que generó el error CS0136.

Ejemplo

El ejemplo siguiente genera la advertencia CS0136:

C#
// CS0136.cs  
namespace MyNamespace  
{  
   public class MyClass  
   {  
      public static void Main()  
      {  
         int i = 0;  
         {  
            char i = 'a';   // CS0136, hides int i  
         }  
         i++;  
      }  
   }  
}  

En Especificación del lenguaje C#:

Es un error que un espacio de declaración de variable local y un espacio de declaración de variable local anidado contengan elementos con el mismo nombre. Por lo tanto, dentro de un espacio de declaración anidado, no es posible declarar una variable local o una constante con el mismo nombre que una variable local o una constante en un espacio de declaración de inclusión. Es posible que dos espacios de declaración contengan elementos con el mismo nombre siempre y cuando ninguno de los espacios de declaración contenga el otro.