Lire en anglais

Partager via


Erreur du compilateur CS0836

Impossible d’utiliser un type anonyme dans une expression constante.

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

  1. Faites du type anonyme un type nommé.

Exemple

L’exemple suivant illustre une façon de générer 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;  
    }  
}