Как Func неявно преобразуется в Expression >?

Я не понимаю, что здесь происходит:

Обе эти строки компилируются:

 Func<object> func = () => new object();

 Expression<Func<object>> expression = ()=>new object();

Но этого не происходит:

 expression = func;

Нет неявного оператора на LambdaExpression или Expression , которое преобразует делегат в выражение, поэтому для выполнения присваивания должно происходить что-то еще. Что это такое?

17
задан Anthony Pegram 3 May 2011 в 02:51
поделиться