document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. using System.Collections.Generic;
  2. using System.Linq.Expressions;
  3.  
  4. namespace IntroToExpressions
  5. {
  6.     public class CustomExpressionVisitor : ExpressionVisitor
  7.     {
  8.         private int currentIndex = 0;
  9.         public SortedList<int, Expression> Expressions { get; private set; }
  10.  
  11.         public override Expression Visit(Expression node)
  12.         {
  13.             currentIndex = 0;
  14.             Expressions = new SortedList<int, Expression>();
  15.  
  16.             return base.Visit(node);
  17.         }
  18.  
  19.         protected override Expression VisitMember(MemberExpression node)
  20.         {
  21.             Expressions.Add(currentIndex++, node);
  22.             return base.VisitMember(node);
  23.         }
  24.     }
  25. }
');