Ошибка компилятора CS1946
Обновлен: Ноябрь 2007
Сообщение об ошибке
Выражение анонимного метода не может быть преобразовано в дерево выражения.
An anonymous method expression cannot be converted to an expression tree.
Анонимный метод представляет набор операторов, а дерево выражения не должно их содержать. Таким образом, анонимный метод не может быть представлен деревом выражения.
Исправление данной ошибки
- Измените анонимный метод на лямбда-выражение.
Пример
Следующий пример приводит к возникновению ошибки CS1946:
// cs1946.cs
using System;
using System.Linq.Expressions;
public delegate void D();
class Test
{
static void Main()
{
Expression<D> tree = delegate() { }; //CS1946
// Try using a lambda expression instead.
// Expression<D> tree = (x) => x + 1;
}
}