Error del compilador CS1959

Actualización: noviembre 2007

Mensaje de error

'name' es de tipo 'type'. El tipo especificado en una declaración de constante debe ser sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, bool, string, un tipo de enumeración o un tipo de referencia.
'name' is of type 'type'. The type specified in a constant declaration must be sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, bool, string, an enum-type, or a reference-type.

Los tipos permitidos en una declaración de constante se limitan a aquéllos descritos en este mensaje.

Para corregir este error

  • Declare la constante con un tipo permitido.

Ejemplo

El código siguiente genera CS1959 porque null no es un tipo.

// cs1959.cs
class Program
    {
        static void Test<T>() where T : class
        {
            const T x = null; // CS1959
        }
    }

Vea también

Referencia

Constantes (Guía de programación de C#)

null (Referencia de C#)