Поделиться через


Ошибка компилятора CS0836

Обновлен: Ноябрь 2007

Сообщение об ошибке

Невозможно использовать анонимный тип в константном выражении.
Cannot use anonymous type in a constant expression.

В константном выражении допускается использовать только сочетания именованных констант, литералов и математических выражений.

Исправление ошибки

  • Сделайте анонимный тип именованным типом.

Пример

В следующем примере показан один из способов создания ошибки CS1934:

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