Compilerfehler CS0836

In einem konstanten Ausdruck kann kein anonymer Typ verwendet werden

Die einzigen in einem konstanten Ausdruck zulässigen Elemente sind benannte Konstanten, Literale und mathematische Ausdrücke, die konstante Ausdrücke verbinden.

So beheben Sie diesen Fehler

  1. Verwandeln Sie den anonymen Typ in einen benannten Typ.

Beispiel

Im folgenden Beispiel wird eine Möglichkeit zum Generieren von CS0836 dargestellt:

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