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;
}
}