+ if (ec.IsInProbingMode)
+ return this;
+
+ BlockContext bc = new BlockContext (ec.MemberContext, ec.ConstructorBlock, TypeManager.void_type) {
+ CurrentAnonymousMethod = ec.CurrentAnonymousMethod
+ };
+
+ Expression args = Parameters.CreateExpressionTree (bc, loc);
+ Expression expr = Block.CreateExpressionTree (ec);
+ if (expr == null)
+ return null;
+
+ Arguments arguments = new Arguments (2);
+ arguments.Add (new Argument (expr));
+ arguments.Add (new Argument (args));
+ return CreateExpressionFactoryCall (ec, "Lambda",
+ new TypeArguments (new TypeExpression (delegate_type, loc)),
+ arguments);