Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El nombre "identifier" no existe en el contexto actual
Se ha intentado usar un nombre que no existe en la clase, en el espacio de nombres o en el ámbito. Compruebe la ortografía del nombre y compruebe las directivas using y las referencias de ensamblado para asegurarse de que el nombre que intenta usar está disponible.
Este error suele producirse si declara una variable en un bucle o un bloque de try o de if y después intenta tener acceso desde un bloque de código que agrega o un bloque de código independiente, como se muestra en el ejemplo siguiente:
Nota
Este error también se puede presentar cuando falta el símbolo greater than en el operador => en una expresión lambda. Para más información, consulte las expresiones lambda.
using System;
class MyClass1
{
public static void Main()
{
try
{
// The following declaration is only available inside the try block.
var conn = new MyClass1();
}
catch (Exception e)
{
// The following expression causes error CS0103, because variable
// conn only exists in the try block.
if (conn != null)
Console.WriteLine("{0}", e);
}
}
}
En el ejemplo siguiente se resuelve el error:
using System;
class MyClass2
{
public static void Main()
{
// To resolve the error in the example, the first step is to
// move the declaration of conn out of the try block. The following
// declaration is available throughout the Main method.
MyClass2 conn = null;
try
{
// Inside the try block, use the conn variable that you declared
// previously.
conn = new MyClass2();
}
catch (Exception e)
{
// The following expression no longer causes an error, because
// the declaration of conn is in scope.
if (conn != null)
Console.WriteLine("{0}", e);
}
}
}