Leer en inglés

Compartir vía


Error del compilador CS0836

No se puede usar un tipo anónimo en una expresión constante.

Lo único que se permite en una expresión de constante son las constantes denominadas, los literales y las expresiones matemáticas que combinan expresiones constantes.

Para corregir este error

  1. Convierta un tipo con nombre al tipo anónimo.

Ejemplo

En el siguiente ejemplo, se muestra una forma de generar el error CS0836:

C#
// 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;  
    }  
}