System.Linq.Expressions.Expression
namespace System.Linq.Expressions
{
public abstract class Expression
{
public virtual bool CanReduce { get; }
public virtual ExpressionType NodeType { get; }
public virtual Type Type { get; }
protected Expression();
protected Expression(ExpressionType nodeType, Type type);
public static BinaryExpression Add(Expression left, Expression right);
public static BinaryExpression Add(Expression left, Expression right, MethodInfo method);
public static BinaryExpression AddAssign(Expression left, Expression right);
public static BinaryExpression AddAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression AddAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression AddAssignChecked(Expression left, Expression right);
public static BinaryExpression AddAssignChecked(Expression left, Expression right, MethodInfo method);
public static BinaryExpression AddAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression AddChecked(Expression left, Expression right);
public static BinaryExpression AddChecked(Expression left, Expression right, MethodInfo method);
public static BinaryExpression And(Expression left, Expression right);
public static BinaryExpression And(Expression left, Expression right, MethodInfo method);
public static BinaryExpression AndAlso(Expression left, Expression right);
public static BinaryExpression AndAlso(Expression left, Expression right, MethodInfo method);
public static BinaryExpression AndAssign(Expression left, Expression right);
public static BinaryExpression AndAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression AndAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static IndexExpression ArrayAccess(Expression array, IEnumerable<Expression> indexes);
public static IndexExpression ArrayAccess(Expression array, params Expression[] indexes);
public static MethodCallExpression ArrayIndex(Expression array, IEnumerable<Expression> indexes);
public static BinaryExpression ArrayIndex(Expression array, Expression index);
public static MethodCallExpression ArrayIndex(Expression array, params Expression[] indexes);
public static UnaryExpression ArrayLength(Expression array);
public static BinaryExpression Assign(Expression left, Expression right);
public static MemberAssignment Bind(MemberInfo member, Expression expression);
public static MemberAssignment Bind(MethodInfo propertyAccessor, Expression expression);
public static BlockExpression Block(IEnumerable<Expression> expressions);
public static BlockExpression Block(IEnumerable<ParameterExpression> variables, IEnumerable<Expression> expressions);
public static BlockExpression Block(IEnumerable<ParameterExpression> variables, params Expression[] expressions);
public static BlockExpression Block(Expression arg0, Expression arg1);
public static BlockExpression Block(Expression arg0, Expression arg1, Expression arg2);
public static BlockExpression Block(Expression arg0, Expression arg1, Expression arg2, Expression arg3);
public static BlockExpression Block(Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4);
public static BlockExpression Block(params Expression[] expressions);
public static BlockExpression Block(Type type, IEnumerable<Expression> expressions);
public static BlockExpression Block(Type type, IEnumerable<ParameterExpression> variables, IEnumerable<Expression> expressions);
public static BlockExpression Block(Type type, IEnumerable<ParameterExpression> variables, params Expression[] expressions);
public static BlockExpression Block(Type type, params Expression[] expressions);
public static GotoExpression Break(LabelTarget target);
public static GotoExpression Break(LabelTarget target, Expression value);
public static GotoExpression Break(LabelTarget target, Expression value, Type type);
public static GotoExpression Break(LabelTarget target, Type type);
public static MethodCallExpression Call(Expression instance, MethodInfo method);
public static MethodCallExpression Call(Expression instance, MethodInfo method, IEnumerable<Expression> arguments);
public static MethodCallExpression Call(Expression instance, MethodInfo method, Expression arg0, Expression arg1);
public static MethodCallExpression Call(Expression instance, MethodInfo method, Expression arg0, Expression arg1, Expression arg2);
public static MethodCallExpression Call(Expression instance, MethodInfo method, params Expression[] arguments);
public static MethodCallExpression Call(Expression instance, string methodName, Type[] typeArguments, params Expression[] arguments);
public static MethodCallExpression Call(MethodInfo method, IEnumerable<Expression> arguments);
public static MethodCallExpression Call(MethodInfo method, Expression arg0);
public static MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1);
public static MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2);
public static MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
public static MethodCallExpression Call(MethodInfo method, Expression arg0, Expression arg1, Expression arg2, Expression arg3, Expression arg4);
public static MethodCallExpression Call(MethodInfo method, params Expression[] arguments);
public static MethodCallExpression Call(Type type, string methodName, Type[] typeArguments, params Expression[] arguments);
public static CatchBlock Catch(ParameterExpression variable, Expression body);
public static CatchBlock Catch(ParameterExpression variable, Expression body, Expression filter);
public static CatchBlock Catch(Type type, Expression body);
public static CatchBlock Catch(Type type, Expression body, Expression filter);
public static DebugInfoExpression ClearDebugInfo(SymbolDocumentInfo document);
public static BinaryExpression Coalesce(Expression left, Expression right);
public static BinaryExpression Coalesce(Expression left, Expression right, LambdaExpression conversion);
public static ConditionalExpression Condition(Expression test, Expression ifTrue, Expression ifFalse);
public static ConditionalExpression Condition(Expression test, Expression ifTrue, Expression ifFalse, Type type);
public static ConstantExpression Constant(object value);
public static ConstantExpression Constant(object value, Type type);
public static GotoExpression Continue(LabelTarget target);
public static GotoExpression Continue(LabelTarget target, Type type);
public static UnaryExpression Convert(Expression expression, Type type);
public static UnaryExpression Convert(Expression expression, Type type, MethodInfo method);
public static UnaryExpression ConvertChecked(Expression expression, Type type);
public static UnaryExpression ConvertChecked(Expression expression, Type type, MethodInfo method);
public static DebugInfoExpression DebugInfo(SymbolDocumentInfo document, int startLine, int startColumn, int endLine, int endColumn);
public static UnaryExpression Decrement(Expression expression);
public static UnaryExpression Decrement(Expression expression, MethodInfo method);
public static DefaultExpression Default(Type type);
public static BinaryExpression Divide(Expression left, Expression right);
public static BinaryExpression Divide(Expression left, Expression right, MethodInfo method);
public static BinaryExpression DivideAssign(Expression left, Expression right);
public static BinaryExpression DivideAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression DivideAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, IEnumerable<Expression> arguments);
public static DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0);
public static DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1);
public static DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2);
public static DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
public static DynamicExpression Dynamic(CallSiteBinder binder, Type returnType, params Expression[] arguments);
public static ElementInit ElementInit(MethodInfo addMethod, IEnumerable<Expression> arguments);
public static ElementInit ElementInit(MethodInfo addMethod, params Expression[] arguments);
public static DefaultExpression Empty();
public static BinaryExpression Equal(Expression left, Expression right);
public static BinaryExpression Equal(Expression left, Expression right, bool liftToNull, MethodInfo method);
public static BinaryExpression ExclusiveOr(Expression left, Expression right);
public static BinaryExpression ExclusiveOr(Expression left, Expression right, MethodInfo method);
public static BinaryExpression ExclusiveOrAssign(Expression left, Expression right);
public static BinaryExpression ExclusiveOrAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression ExclusiveOrAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static MemberExpression Field(Expression expression, FieldInfo field);
public static MemberExpression Field(Expression expression, string fieldName);
public static MemberExpression Field(Expression expression, Type type, string fieldName);
public static Type GetActionType(params Type[] typeArgs);
public static Type GetDelegateType(params Type[] typeArgs);
public static Type GetFuncType(params Type[] typeArgs);
public static GotoExpression Goto(LabelTarget target);
public static GotoExpression Goto(LabelTarget target, Expression value);
public static GotoExpression Goto(LabelTarget target, Expression value, Type type);
public static GotoExpression Goto(LabelTarget target, Type type);
public static BinaryExpression GreaterThan(Expression left, Expression right);
public static BinaryExpression GreaterThan(Expression left, Expression right, bool liftToNull, MethodInfo method);
public static BinaryExpression GreaterThanOrEqual(Expression left, Expression right);
public static BinaryExpression GreaterThanOrEqual(Expression left, Expression right, bool liftToNull, MethodInfo method);
public static ConditionalExpression IfThen(Expression test, Expression ifTrue);
public static ConditionalExpression IfThenElse(Expression test, Expression ifTrue, Expression ifFalse);
public static UnaryExpression Increment(Expression expression);
public static UnaryExpression Increment(Expression expression, MethodInfo method);
public static InvocationExpression Invoke(Expression expression, IEnumerable<Expression> arguments);
public static InvocationExpression Invoke(Expression expression, params Expression[] arguments);
public static UnaryExpression IsFalse(Expression expression);
public static UnaryExpression IsFalse(Expression expression, MethodInfo method);
public static UnaryExpression IsTrue(Expression expression);
public static UnaryExpression IsTrue(Expression expression, MethodInfo method);
public static LabelTarget Label();
public static LabelExpression Label(LabelTarget target);
public static LabelExpression Label(LabelTarget target, Expression defaultValue);
public static LabelTarget Label(string name);
public static LabelTarget Label(Type type);
public static LabelTarget Label(Type type, string name);
public static LambdaExpression Lambda(Expression body, bool tailCall, IEnumerable<ParameterExpression> parameters);
public static LambdaExpression Lambda(Expression body, bool tailCall, params ParameterExpression[] parameters);
public static LambdaExpression Lambda(Expression body, IEnumerable<ParameterExpression> parameters);
public static LambdaExpression Lambda(Expression body, params ParameterExpression[] parameters);
public static LambdaExpression Lambda(Expression body, string name, bool tailCall, IEnumerable<ParameterExpression> parameters);
public static LambdaExpression Lambda(Expression body, string name, IEnumerable<ParameterExpression> parameters);
public static LambdaExpression Lambda(Type delegateType, Expression body, bool tailCall, IEnumerable<ParameterExpression> parameters);
public static LambdaExpression Lambda(Type delegateType, Expression body, bool tailCall, params ParameterExpression[] parameters);
public static LambdaExpression Lambda(Type delegateType, Expression body, IEnumerable<ParameterExpression> parameters);
public static LambdaExpression Lambda(Type delegateType, Expression body, params ParameterExpression[] parameters);
public static LambdaExpression Lambda(Type delegateType, Expression body, string name, bool tailCall, IEnumerable<ParameterExpression> parameters);
public static LambdaExpression Lambda(Type delegateType, Expression body, string name, IEnumerable<ParameterExpression> parameters);
public static Expression<TDelegate> Lambda<TDelegate>(Expression body, bool tailCall, IEnumerable<ParameterExpression> parameters);
public static Expression<TDelegate> Lambda<TDelegate>(Expression body, bool tailCall, params ParameterExpression[] parameters);
public static Expression<TDelegate> Lambda<TDelegate>(Expression body, IEnumerable<ParameterExpression> parameters);
public static Expression<TDelegate> Lambda<TDelegate>(Expression body, params ParameterExpression[] parameters);
public static Expression<TDelegate> Lambda<TDelegate>(Expression body, string name, bool tailCall, IEnumerable<ParameterExpression> parameters);
public static Expression<TDelegate> Lambda<TDelegate>(Expression body, string name, IEnumerable<ParameterExpression> parameters);
public static BinaryExpression LeftShift(Expression left, Expression right);
public static BinaryExpression LeftShift(Expression left, Expression right, MethodInfo method);
public static BinaryExpression LeftShiftAssign(Expression left, Expression right);
public static BinaryExpression LeftShiftAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression LeftShiftAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression LessThan(Expression left, Expression right);
public static BinaryExpression LessThan(Expression left, Expression right, bool liftToNull, MethodInfo method);
public static BinaryExpression LessThanOrEqual(Expression left, Expression right);
public static BinaryExpression LessThanOrEqual(Expression left, Expression right, bool liftToNull, MethodInfo method);
public static MemberListBinding ListBind(MemberInfo member, IEnumerable<ElementInit> initializers);
public static MemberListBinding ListBind(MemberInfo member, params ElementInit[] initializers);
public static MemberListBinding ListBind(MethodInfo propertyAccessor, IEnumerable<ElementInit> initializers);
public static MemberListBinding ListBind(MethodInfo propertyAccessor, params ElementInit[] initializers);
public static ListInitExpression ListInit(NewExpression newExpression, IEnumerable<ElementInit> initializers);
public static ListInitExpression ListInit(NewExpression newExpression, IEnumerable<Expression> initializers);
public static ListInitExpression ListInit(NewExpression newExpression, params ElementInit[] initializers);
public static ListInitExpression ListInit(NewExpression newExpression, params Expression[] initializers);
public static ListInitExpression ListInit(NewExpression newExpression, MethodInfo addMethod, IEnumerable<Expression> initializers);
public static ListInitExpression ListInit(NewExpression newExpression, MethodInfo addMethod, params Expression[] initializers);
public static LoopExpression Loop(Expression body);
public static LoopExpression Loop(Expression body, LabelTarget break);
public static LoopExpression Loop(Expression body, LabelTarget break, LabelTarget continue);
public static BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right);
public static BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right, bool liftToNull, MethodInfo method);
public static BinaryExpression MakeBinary(ExpressionType binaryType, Expression left, Expression right, bool liftToNull, MethodInfo method, LambdaExpression conversion);
public static CatchBlock MakeCatchBlock(Type type, ParameterExpression variable, Expression body, Expression filter);
public static DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, IEnumerable<Expression> arguments);
public static DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0);
public static DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1);
public static DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2);
public static DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, Expression arg0, Expression arg1, Expression arg2, Expression arg3);
public static DynamicExpression MakeDynamic(Type delegateType, CallSiteBinder binder, params Expression[] arguments);
public static GotoExpression MakeGoto(GotoExpressionKind kind, LabelTarget target, Expression value, Type type);
public static IndexExpression MakeIndex(Expression instance, PropertyInfo indexer, IEnumerable<Expression> arguments);
public static MemberExpression MakeMemberAccess(Expression expression, MemberInfo member);
public static TryExpression MakeTry(Type type, Expression body, Expression finally, Expression fault, IEnumerable<CatchBlock> handlers);
public static UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type);
public static UnaryExpression MakeUnary(ExpressionType unaryType, Expression operand, Type type, MethodInfo method);
public static MemberMemberBinding MemberBind(MemberInfo member, IEnumerable<MemberBinding> bindings);
public static MemberMemberBinding MemberBind(MemberInfo member, params MemberBinding[] bindings);
public static MemberMemberBinding MemberBind(MethodInfo propertyAccessor, IEnumerable<MemberBinding> bindings);
public static MemberMemberBinding MemberBind(MethodInfo propertyAccessor, params MemberBinding[] bindings);
public static MemberInitExpression MemberInit(NewExpression newExpression, IEnumerable<MemberBinding> bindings);
public static MemberInitExpression MemberInit(NewExpression newExpression, params MemberBinding[] bindings);
public static BinaryExpression Modulo(Expression left, Expression right);
public static BinaryExpression Modulo(Expression left, Expression right, MethodInfo method);
public static BinaryExpression ModuloAssign(Expression left, Expression right);
public static BinaryExpression ModuloAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression ModuloAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression Multiply(Expression left, Expression right);
public static BinaryExpression Multiply(Expression left, Expression right, MethodInfo method);
public static BinaryExpression MultiplyAssign(Expression left, Expression right);
public static BinaryExpression MultiplyAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression MultiplyAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression MultiplyAssignChecked(Expression left, Expression right);
public static BinaryExpression MultiplyAssignChecked(Expression left, Expression right, MethodInfo method);
public static BinaryExpression MultiplyAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression MultiplyChecked(Expression left, Expression right);
public static BinaryExpression MultiplyChecked(Expression left, Expression right, MethodInfo method);
public static UnaryExpression Negate(Expression expression);
public static UnaryExpression Negate(Expression expression, MethodInfo method);
public static UnaryExpression NegateChecked(Expression expression);
public static UnaryExpression NegateChecked(Expression expression, MethodInfo method);
public static NewExpression New(ConstructorInfo constructor);
public static NewExpression New(ConstructorInfo constructor, IEnumerable<Expression> arguments);
public static NewExpression New(ConstructorInfo constructor, IEnumerable<Expression> arguments, IEnumerable<MemberInfo> members);
public static NewExpression New(ConstructorInfo constructor, IEnumerable<Expression> arguments, params MemberInfo[] members);
public static NewExpression New(ConstructorInfo constructor, params Expression[] arguments);
public static NewExpression New(Type type);
public static NewArrayExpression NewArrayBounds(Type type, IEnumerable<Expression> bounds);
public static NewArrayExpression NewArrayBounds(Type type, params Expression[] bounds);
public static NewArrayExpression NewArrayInit(Type type, IEnumerable<Expression> initializers);
public static NewArrayExpression NewArrayInit(Type type, params Expression[] initializers);
public static UnaryExpression Not(Expression expression);
public static UnaryExpression Not(Expression expression, MethodInfo method);
public static BinaryExpression NotEqual(Expression left, Expression right);
public static BinaryExpression NotEqual(Expression left, Expression right, bool liftToNull, MethodInfo method);
public static UnaryExpression OnesComplement(Expression expression);
public static UnaryExpression OnesComplement(Expression expression, MethodInfo method);
public static BinaryExpression Or(Expression left, Expression right);
public static BinaryExpression Or(Expression left, Expression right, MethodInfo method);
public static BinaryExpression OrAssign(Expression left, Expression right);
public static BinaryExpression OrAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression OrAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression OrElse(Expression left, Expression right);
public static BinaryExpression OrElse(Expression left, Expression right, MethodInfo method);
public static ParameterExpression Parameter(Type type);
public static ParameterExpression Parameter(Type type, string name);
public static UnaryExpression PostDecrementAssign(Expression expression);
public static UnaryExpression PostDecrementAssign(Expression expression, MethodInfo method);
public static UnaryExpression PostIncrementAssign(Expression expression);
public static UnaryExpression PostIncrementAssign(Expression expression, MethodInfo method);
public static BinaryExpression Power(Expression left, Expression right);
public static BinaryExpression Power(Expression left, Expression right, MethodInfo method);
public static BinaryExpression PowerAssign(Expression left, Expression right);
public static BinaryExpression PowerAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression PowerAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static UnaryExpression PreDecrementAssign(Expression expression);
public static UnaryExpression PreDecrementAssign(Expression expression, MethodInfo method);
public static UnaryExpression PreIncrementAssign(Expression expression);
public static UnaryExpression PreIncrementAssign(Expression expression, MethodInfo method);
public static MemberExpression Property(Expression expression, MethodInfo propertyAccessor);
public static MemberExpression Property(Expression expression, PropertyInfo property);
public static IndexExpression Property(Expression instance, PropertyInfo indexer, IEnumerable<Expression> arguments);
public static IndexExpression Property(Expression instance, PropertyInfo indexer, params Expression[] arguments);
public static MemberExpression Property(Expression expression, string propertyName);
public static IndexExpression Property(Expression instance, string propertyName, params Expression[] arguments);
public static MemberExpression Property(Expression expression, Type type, string propertyName);
public static MemberExpression PropertyOrField(Expression expression, string propertyOrFieldName);
public static UnaryExpression Quote(Expression expression);
public virtual Expression Reduce();
public Expression ReduceAndCheck();
public Expression ReduceExtensions();
public static BinaryExpression ReferenceEqual(Expression left, Expression right);
public static BinaryExpression ReferenceNotEqual(Expression left, Expression right);
public static UnaryExpression Rethrow();
public static UnaryExpression Rethrow(Type type);
public static GotoExpression Return(LabelTarget target);
public static GotoExpression Return(LabelTarget target, Expression value);
public static GotoExpression Return(LabelTarget target, Expression value, Type type);
public static GotoExpression Return(LabelTarget target, Type type);
public static BinaryExpression RightShift(Expression left, Expression right);
public static BinaryExpression RightShift(Expression left, Expression right, MethodInfo method);
public static BinaryExpression RightShiftAssign(Expression left, Expression right);
public static BinaryExpression RightShiftAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression RightShiftAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static RuntimeVariablesExpression RuntimeVariables(IEnumerable<ParameterExpression> variables);
public static RuntimeVariablesExpression RuntimeVariables(params ParameterExpression[] variables);
public static BinaryExpression Subtract(Expression left, Expression right);
public static BinaryExpression Subtract(Expression left, Expression right, MethodInfo method);
public static BinaryExpression SubtractAssign(Expression left, Expression right);
public static BinaryExpression SubtractAssign(Expression left, Expression right, MethodInfo method);
public static BinaryExpression SubtractAssign(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression SubtractAssignChecked(Expression left, Expression right);
public static BinaryExpression SubtractAssignChecked(Expression left, Expression right, MethodInfo method);
public static BinaryExpression SubtractAssignChecked(Expression left, Expression right, MethodInfo method, LambdaExpression conversion);
public static BinaryExpression SubtractChecked(Expression left, Expression right);
public static BinaryExpression SubtractChecked(Expression left, Expression right, MethodInfo method);
public static SwitchExpression Switch(Expression switchValue, Expression defaultBody, params SwitchCase[] cases);
public static SwitchExpression Switch(Expression switchValue, Expression defaultBody, MethodInfo comparison, IEnumerable<SwitchCase> cases);
public static SwitchExpression Switch(Expression switchValue, Expression defaultBody, MethodInfo comparison, params SwitchCase[] cases);
public static SwitchExpression Switch(Expression switchValue, params SwitchCase[] cases);
public static SwitchExpression Switch(Type type, Expression switchValue, Expression defaultBody, MethodInfo comparison, IEnumerable<SwitchCase> cases);
public static SwitchExpression Switch(Type type, Expression switchValue, Expression defaultBody, MethodInfo comparison, params SwitchCase[] cases);
public static SwitchCase SwitchCase(Expression body, IEnumerable<Expression> testValues);
public static SwitchCase SwitchCase(Expression body, params Expression[] testValues);
public static SymbolDocumentInfo SymbolDocument(string fileName);
public static SymbolDocumentInfo SymbolDocument(string fileName, Guid language);
public static SymbolDocumentInfo SymbolDocument(string fileName, Guid language, Guid languageVendor);
public static SymbolDocumentInfo SymbolDocument(string fileName, Guid language, Guid languageVendor, Guid documentType);
public static UnaryExpression Throw(Expression value);
public static UnaryExpression Throw(Expression value, Type type);
public static TryExpression TryCatch(Expression body, params CatchBlock[] handlers);
public static TryExpression TryCatchFinally(Expression body, Expression finally, params CatchBlock[] handlers);
public static TryExpression TryFault(Expression body, Expression fault);
public static TryExpression TryFinally(Expression body, Expression finally);
public static bool TryGetActionType(Type[] typeArgs, out Type actionType);
public static bool TryGetFuncType(Type[] typeArgs, out Type funcType);
public static UnaryExpression TypeAs(Expression expression, Type type);
public static TypeBinaryExpression TypeEqual(Expression expression, Type type);
public static TypeBinaryExpression TypeIs(Expression expression, Type type);
public static UnaryExpression UnaryPlus(Expression expression);
public static UnaryExpression UnaryPlus(Expression expression, MethodInfo method);
public static UnaryExpression Unbox(Expression expression, Type type);
public static ParameterExpression Variable(Type type);
public static ParameterExpression Variable(Type type, string name);
}
}