public override void VisitAnonymousMethodExpression(AnonymousMethodExpression e) { //delegate(DependencyObject s, DependencyPropertyChangedEventArgs e) //{ // ((LegendModifier)s).UpdateLegend(); //} //====> // (s, e)=> ((LegendModifier)s).UpdateLegend() LambdaExpression le = new LambdaExpression(); le.CopyAnnotationsFrom(e); if (e.Parameters.Any(x => x.ParameterModifier != NRefactory.CSharp.ParameterModifier.None)) { e.Parameters.MoveTo(le.Parameters); } else { foreach (var x in e.Parameters) { le.Parameters.Add(new ParameterDeclaration(x.Name)); } } AstNode body = e.Body; if (e.Body.Statements.Count == 1) { body = e.Body.Statements.First(); if (body is ExpressionStatement) body = ((ExpressionStatement)body).Expression; } le.Body = body.Detach(); e.ReplaceWith(le); base.VisitLambdaExpression(le); }