I don't understand what is happening here:
Both of these lines compile:
Func<object> func = () => new object();
Expression<Func<object>> expression = ()=>new object();
But this doesn't:
expression = func;
There isn't an implicit operator on LambdaExpression
or Expression<TDelegate>
that converts a delegate to the expression, so something else must be happening to make the assignment work. What is it?