Я не понимаю, что здесь происходит:
Обе эти строки компилируются:
Func<object> func = () => new object();
Expression<Func<object>> expression = ()=>new object();
Но этого не происходит:
expression = func;
Нет неявного оператора на LambdaExpression
или Expression
, которое преобразует делегат в выражение, поэтому для выполнения присваивания должно происходить что-то еще. Что это такое?