Compartir a través de


Error del compilador CS0836

Actualización: noviembre 2007

Mensaje de error

No se puede usar un tipo anónimo en una expresión constante.
Cannot use anonymous type in a constant expression.

Los únicos elementos permitidos en una expresión constante son constantes con nombre, literales y expresiones matemáticas que combinan expresiones constantes.

Para corregir este error

  • Convierta el tipo anónimo en un tipo con nombre.

Ejemplo

El ejemplo siguiente muestra una forma de generar el error CS0836:

// cs0836.cs
using System;
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
public class A : Attribute
{
    public A(object obj)
    {
    }
}

[A(new { })] // CS0836
public class B
{
}

public class Test
{
    public static int Main()
    {        
        return 0;
    }
}