編譯器錯誤 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;
}
}