Error del compilador · error CS1022
Se esperaba una definición de tipo o espacio de nombres, o el fin del archivo
La traducción de esa jerga: tienes una llave de cierre de más. Hay un } sin ningún bloque que cerrar.
Míralo ocurrir
int x = 5;
Console.WriteLine(x);
} // ← no se abrió nada para que esta llave cierre
Es el espejo de CS1513
| Error | Significado | Solución |
|---|---|---|
CS1513 — se esperaba } | Faltan llaves de cierre | Añade la que falta |
| CS1022 | Sobran llaves de cierre | Elimina la que sobra |
Mismo método de diagnóstico, dirección opuesta. Cuenta desde el principio: { suma uno, } resta uno. Si la cuenta se vuelve negativa, acabas de pasar la llave sobrante.
Las causas habituales
1. Copiar y pegar trajo una llave extra
class Greeter
{
public void Hello()
{
Console.WriteLine("hi");
}
} // cierra la clase
} // ← pegada dos veces por accidente
2. Se borró un bloque pero su llave quedó
Eliminaste un if o un método y dejaste su llave de cierre. El síntoma suele ser una cascada confusa: todo lo posterior parece estar fuera de la clase.
3. Llaves fusionadas al reformatear
El autoformato no puede arreglar el recuento de llaves — solo alinea lo que hay. Si dos bloques se fusionaron, alinea la indentación a ojo y busca la línea cuya sangría no coincide con sus vecinas.
Cómo arreglarlo en 20 segundos
- Haz clic en la primera
{del archivo; casi todos los editores resaltan su pareja. - Si una
}no resalta nada, esa llave no tiene apertura — bórrala. - O cuenta +1/−1 desde arriba; el primer punto donde baja a negativo es tu llave sobrante.
- Tras borrarla, ejecuta el autoformato — si el diseño encaja de golpe, la encontraste.
Funciona en Visual Studio, VS Code y Rider. El motor de aquí reporta el mismo código que el compilador real, así que puedes practicar el patrón directamente.
Preguntas frecuentes
¿Qué significa CS1022?
Una } de más. Cuenta +1/−1 desde arriba; donde la cuenta se vuelve negativa está la llave a eliminar.
¿CS1022 vs CS1513?
CS1022 = sobran llaves de cierre; CS1513 = faltan. Mismo método, dirección opuesta.
Lista de comprobación
- Cuenta
{(+1) y}(−1) desde el principio del archivo. - Primer punto negativo = la llave sobrante.
- ¿Pegaste código? Revisa el final de la zona pegada.
- ¿Borraste un bloque? Comprueba si su llave sobrevivió.
- Formatea después del arreglo para confirmar la estructura.