31 switch (exp.NodeType) {
32 case ExpressionType.Negate:
33 case ExpressionType.NegateChecked:
34 case ExpressionType.Not:
35 case ExpressionType.Convert:
36 case ExpressionType.ConvertChecked:
37 case ExpressionType.ArrayLength:
38 case ExpressionType.Quote:
39 case ExpressionType.TypeAs:
41 case ExpressionType.Add:
42 case ExpressionType.AddChecked:
43 case ExpressionType.Subtract:
44 case ExpressionType.SubtractChecked:
45 case ExpressionType.Multiply:
46 case ExpressionType.MultiplyChecked:
47 case ExpressionType.Divide:
48 case ExpressionType.Modulo:
49 case ExpressionType.And:
50 case ExpressionType.AndAlso:
51 case ExpressionType.Or:
52 case ExpressionType.OrElse:
53 case ExpressionType.LessThan:
54 case ExpressionType.LessThanOrEqual:
55 case ExpressionType.GreaterThan:
56 case ExpressionType.GreaterThanOrEqual:
57 case ExpressionType.Equal:
58 case ExpressionType.NotEqual:
59 case ExpressionType.Coalesce:
60 case ExpressionType.ArrayIndex:
61 case ExpressionType.RightShift:
62 case ExpressionType.LeftShift:
63 case ExpressionType.ExclusiveOr:
65 case ExpressionType.TypeIs:
67 case ExpressionType.Conditional:
69 case ExpressionType.Constant:
71 case ExpressionType.Parameter:
73 case ExpressionType.MemberAccess:
75 case ExpressionType.Call:
77 case ExpressionType.Lambda:
79 case ExpressionType.New:
81 case ExpressionType.NewArrayInit:
82 case ExpressionType.NewArrayBounds:
84 case ExpressionType.Invoke:
86 case ExpressionType.MemberInit:
88 case ExpressionType.ListInit:
91 throw new Exception(
string.Format(
"Unhandled expression type: '{0}'", exp.NodeType));
virtual Expression VisitTypeIs(TypeBinaryExpression b)
virtual Expression VisitParameter(ParameterExpression p)
virtual Expression VisitBinary(BinaryExpression b)
virtual Expression VisitNewArray(NewArrayExpression na)
virtual Expression VisitListInit(ListInitExpression init)
virtual Expression VisitMethodCall(MethodCallExpression m)
virtual Expression VisitMemberInit(MemberInitExpression init)
virtual Expression VisitConditional(ConditionalExpression c)
virtual NewExpression VisitNew(NewExpression nex)
virtual Expression VisitInvocation(InvocationExpression iv)
virtual Expression VisitMemberAccess(MemberExpression m)
virtual Expression VisitUnary(UnaryExpression u)
virtual Expression VisitLambda(LambdaExpression lambda)
virtual Expression VisitConstant(ConstantExpression c)