Partager via


Erreur du compilateur CS0836

Mise à jour : novembre 2007

Message d'erreur

Impossible d'utiliser un type anonyme dans une expression constante.
Cannot use anonymous type in a constant expression.

Les seuls éléments autorisés dans une expression constante sont les constantes nommées, les littéraux et les expressions mathématiques qui combinent des expressions constantes.

Pour corriger cette erreur

  • Modifiez le type anonyme en type nommé.

Exemple

L'exemple suivant illustre l'une des causes de l'erreur 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;
    }
}