Error del compilador CS1059
Actualización: noviembre 2007
Mensaje de error
El operando de un operador de incremento o decremento debe ser una variable, una propiedad o un indizador.
The operand of an increment or decrement operator must be a variable, property or indexer.
Este error se produce al intentar incrementar o reducir un valor constante. También puede producirse si intenta incrementar una expresión como (a+b)++.
Para corregir este error
Haga que la variable no sea de tipo const.
Quite el operador de incremento o decremento.
Almacene la expresión en una variable y, a continuación, incremente la variable.
Ejemplo
El ejemplo siguiente genera el error CS1059 porque i es una constante, no una variable, y E es un tipo Enum cuyos elementos son también valores constantes.
// CS1059.cs
class Program
{
public enum E : sbyte
{
a = 1,
b = 2
}
static void Main(string[] args)
{
const int i = 0;
i++; // CS1059
E test = E.a++; // CS1059
}
}