Esta línea de código que intenta asignar una expresión lambda a una variable LambaExpression
mecanografiado,lambda expresión de sintaxis vs clase LambdaExpression
LambdaExpression expr = n => n;
se produce un error con el mensaje de error de compilación:
no puede convertir lambda expresión para escribir 'System.Linq.Expressions.LambdaExpression' porque no es un delegado tipo
Por lo tanto, debe ser un tipo de delegado. Conceptualmente, me parece extraño porque puedo construir una instancia LambdaExpression
usando un método de fábrica como ese.
fábrica Lambda from MSDN
LambdaExpression lambdaExpr = Expression.Lambda(
Expression.Add(
paramExpr,
Expression.Constant(1)
),
new List<ParameterExpression>() { paramExpr }
);
y eso no es un tipo de delegado.
Hace que nos preguntemos por qué lambda para LambaExpression no puede funcionar?