Export (0) Print
Expand All
Expand Minimize

Compiler Error CS0836

Visual Studio 2008

Cannot use anonymous type in a constant expression.

The only things allowed in a constant expression are named constants, literals, and mathematical expressions that combine constant expressions.

To correct this error

  • Make the anonymous type a named type.

The following example shows one way to generate 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;
    }
}

Community Additions

ADD
Show:
© 2015 Microsoft