Based on the context, C# can generate the expression tree for a
LambdaExpression from lambda expression syntax:
Expression<Func<string, int>> expr1 = s => s.Length;
as can VB.NET:
Dim expr1 As Expression(Of Func(Of String,Integer)) = Function(s) s.Length
Why can't either language compiler generate an expression tree from other expression types?
Expression<DateTime> expr2 = DateTime.Now
Dim expr2 As Expression(Of DateTime) = DateTime.Now
I am assuming this behavior is either by design; or there are technical reasons that make this unfeasable; or it is unnecessary for the requirements that made
Expressions necessary in the first place -- LINQ queries. I would like further details on the subject.