使用英语阅读

通过


编译器错误 CS0836

无法在常量表达式中使用匿名类型。

常量表达式中仅允许使用可合并常量表达式的命名常量、文本和数学表达式。

更正此错误

  1. 使匿名类型变为命名类型。

示例

以下示例演示了生成 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;  
    }  
}