Ler em inglês

Partilhar via


Erro do compilador CS0836

Não é possível usar o tipo anônimo em uma expressão constante.

As únicas coisas permitidas em uma expressão constante são constantes nomeadas, literais e expressões matemáticas que combinam expressões constantes.

Para corrigir este erro

  1. Torne o tipo anônimo um tipo nomeado.

Exemplo

O exemplo a seguir mostra uma maneira de gerar 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;  
    }  
}