[Mono-dev] System.Core patch for nested Lambda Expressions

Roei Erez roeie at mainsoft.com
Wed May 14 08:00:12 EDT 2008


Hi JB,

The sample that I have sent as a test case did not include any quote
expression neither explicitly nor implicitly by the Expression.Call
method.
I have checked on MS.NET and this is not the case, too.
Can you explain more what you have meant?

Just to make sure we both understand the use-case, it is about a method
that is expecting for a delegate as an argument, and instead is passed
an expression (that should be compiled to a delegate before invocation
as far as I understand).

Regards, 
Roei Erez

-----Original Message-----
From: Jb Evain [mailto:jb at nurv.fr] 
Sent: Wednesday, May 14, 2008 1:50 PM
To: Roei Erez
Cc: Jb Evain; mono-devel-list at lists.ximian.com
Subject: Re: [Mono-dev] System.Core patch for nested Lambda Expressions

Hey Roei,

On 5/14/08, Roei Erez <roeie at mainsoft.com> wrote:
> According to MS.NET behavior, when a Lambda Expression is encountered
inside
> an Expression of another Lambda Expression, it is compiled into a
delegate
> and loaded as constant on the stack.
>
> These enables creating a MethodCallExpression of a method that has a
> parameter of type delegate, and pass it a Lambda Expression instead.
>
> Attached is a suggested patch with a test case for your review.

Thanks for the patch but it's not the good solution. The issue
currently lives in the fact that some Expression factory methods do
not quote nested lambda expressions when they get one as an argument.

Am working on fixing this, thanks!

-- 
Jb Evain  <jb at nurv.fr>


More information about the Mono-devel-list mailing list