编译器错误 CS0836
无法在常量表达式中使用匿名类型。
常量表达式中仅允许使用可合并常量表达式的命名常量、文本和数学表达式。
- 使匿名类型变为命名类型。
以下示例演示了生成 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;
}
}