Show / Hide Table of Contents

Class CustomExpression

Represents custom expression.

Inheritance
object
Expression
CustomExpression
AsyncResultExpression
AwaitExpression
CollectionAccessExpression
ForEachExpression
ForExpression
InterpolationExpression
ItemIndexExpression
LockExpression
MutationExpression
NullCoalescingAssignmentExpression
NullSafetyExpression
RangeExpression
RefAnyValExpression
SliceExpression
UnsignedRightShiftExpression
UsingExpression
WhileExpression
WithExpression
WriteLineExpression
Inherited Members
Expression.Assign(Expression, Expression)
Expression.MakeBinary(ExpressionType, Expression, Expression)
Expression.MakeBinary(ExpressionType, Expression, Expression, bool, MethodInfo)
Expression.MakeBinary(ExpressionType, Expression, Expression, bool, MethodInfo, LambdaExpression)
Expression.Equal(Expression, Expression)
Expression.Equal(Expression, Expression, bool, MethodInfo)
Expression.ReferenceEqual(Expression, Expression)
Expression.NotEqual(Expression, Expression)
Expression.NotEqual(Expression, Expression, bool, MethodInfo)
Expression.ReferenceNotEqual(Expression, Expression)
Expression.GreaterThan(Expression, Expression)
Expression.GreaterThan(Expression, Expression, bool, MethodInfo)
Expression.LessThan(Expression, Expression)
Expression.LessThan(Expression, Expression, bool, MethodInfo)
Expression.GreaterThanOrEqual(Expression, Expression)
Expression.GreaterThanOrEqual(Expression, Expression, bool, MethodInfo)
Expression.LessThanOrEqual(Expression, Expression)
Expression.LessThanOrEqual(Expression, Expression, bool, MethodInfo)
Expression.AndAlso(Expression, Expression)
Expression.AndAlso(Expression, Expression, MethodInfo)
Expression.OrElse(Expression, Expression)
Expression.OrElse(Expression, Expression, MethodInfo)
Expression.Coalesce(Expression, Expression)
Expression.Coalesce(Expression, Expression, LambdaExpression)
Expression.Add(Expression, Expression)
Expression.Add(Expression, Expression, MethodInfo)
Expression.AddAssign(Expression, Expression)
Expression.AddAssign(Expression, Expression, MethodInfo)
Expression.AddAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.AddAssignChecked(Expression, Expression)
Expression.AddAssignChecked(Expression, Expression, MethodInfo)
Expression.AddAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.AddChecked(Expression, Expression)
Expression.AddChecked(Expression, Expression, MethodInfo)
Expression.Subtract(Expression, Expression)
Expression.Subtract(Expression, Expression, MethodInfo)
Expression.SubtractAssign(Expression, Expression)
Expression.SubtractAssign(Expression, Expression, MethodInfo)
Expression.SubtractAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.SubtractAssignChecked(Expression, Expression)
Expression.SubtractAssignChecked(Expression, Expression, MethodInfo)
Expression.SubtractAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.SubtractChecked(Expression, Expression)
Expression.SubtractChecked(Expression, Expression, MethodInfo)
Expression.Divide(Expression, Expression)
Expression.Divide(Expression, Expression, MethodInfo)
Expression.DivideAssign(Expression, Expression)
Expression.DivideAssign(Expression, Expression, MethodInfo)
Expression.DivideAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Modulo(Expression, Expression)
Expression.Modulo(Expression, Expression, MethodInfo)
Expression.ModuloAssign(Expression, Expression)
Expression.ModuloAssign(Expression, Expression, MethodInfo)
Expression.ModuloAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Multiply(Expression, Expression)
Expression.Multiply(Expression, Expression, MethodInfo)
Expression.MultiplyAssign(Expression, Expression)
Expression.MultiplyAssign(Expression, Expression, MethodInfo)
Expression.MultiplyAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.MultiplyAssignChecked(Expression, Expression)
Expression.MultiplyAssignChecked(Expression, Expression, MethodInfo)
Expression.MultiplyAssignChecked(Expression, Expression, MethodInfo, LambdaExpression)
Expression.MultiplyChecked(Expression, Expression)
Expression.MultiplyChecked(Expression, Expression, MethodInfo)
Expression.LeftShift(Expression, Expression)
Expression.LeftShift(Expression, Expression, MethodInfo)
Expression.LeftShiftAssign(Expression, Expression)
Expression.LeftShiftAssign(Expression, Expression, MethodInfo)
Expression.LeftShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.RightShift(Expression, Expression)
Expression.RightShift(Expression, Expression, MethodInfo)
Expression.RightShiftAssign(Expression, Expression)
Expression.RightShiftAssign(Expression, Expression, MethodInfo)
Expression.RightShiftAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.And(Expression, Expression)
Expression.And(Expression, Expression, MethodInfo)
Expression.AndAssign(Expression, Expression)
Expression.AndAssign(Expression, Expression, MethodInfo)
Expression.AndAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Or(Expression, Expression)
Expression.Or(Expression, Expression, MethodInfo)
Expression.OrAssign(Expression, Expression)
Expression.OrAssign(Expression, Expression, MethodInfo)
Expression.OrAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.ExclusiveOr(Expression, Expression)
Expression.ExclusiveOr(Expression, Expression, MethodInfo)
Expression.ExclusiveOrAssign(Expression, Expression)
Expression.ExclusiveOrAssign(Expression, Expression, MethodInfo)
Expression.ExclusiveOrAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.Power(Expression, Expression)
Expression.Power(Expression, Expression, MethodInfo)
Expression.PowerAssign(Expression, Expression)
Expression.PowerAssign(Expression, Expression, MethodInfo)
Expression.PowerAssign(Expression, Expression, MethodInfo, LambdaExpression)
Expression.ArrayIndex(Expression, Expression)
Expression.Block(Expression, Expression)
Expression.Block(Expression, Expression, Expression)
Expression.Block(Expression, Expression, Expression, Expression)
Expression.Block(Expression, Expression, Expression, Expression, Expression)
Expression.Block(params Expression[])
Expression.Block(IEnumerable<Expression>)
Expression.Block(Type, params Expression[])
Expression.Block(Type, IEnumerable<Expression>)
Expression.Block(IEnumerable<ParameterExpression>, params Expression[])
Expression.Block(Type, IEnumerable<ParameterExpression>, params Expression[])
Expression.Block(IEnumerable<ParameterExpression>, IEnumerable<Expression>)
Expression.Block(Type, IEnumerable<ParameterExpression>, IEnumerable<Expression>)
Expression.Catch(Type, Expression)
Expression.Catch(ParameterExpression, Expression)
Expression.Catch(Type, Expression, Expression)
Expression.Catch(ParameterExpression, Expression, Expression)
Expression.MakeCatchBlock(Type, ParameterExpression, Expression, Expression)
Expression.Condition(Expression, Expression, Expression)
Expression.Condition(Expression, Expression, Expression, Type)
Expression.IfThen(Expression, Expression)
Expression.IfThenElse(Expression, Expression, Expression)
Expression.Constant(object)
Expression.Constant(object, Type)
Expression.DebugInfo(SymbolDocumentInfo, int, int, int, int)
Expression.ClearDebugInfo(SymbolDocumentInfo)
Expression.Empty()
Expression.Default(Type)
Expression.ElementInit(MethodInfo, params Expression[])
Expression.ElementInit(MethodInfo, IEnumerable<Expression>)
Expression.VisitChildren(ExpressionVisitor)
Expression.Accept(ExpressionVisitor)
Expression.ReduceAndCheck()
Expression.ReduceExtensions()
Expression.ToString()
Expression.Dynamic(CallSiteBinder, Type, IEnumerable<Expression>)
Expression.Dynamic(CallSiteBinder, Type, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, Expression, Expression, Expression, Expression)
Expression.Dynamic(CallSiteBinder, Type, params Expression[])
Expression.MakeDynamic(Type, CallSiteBinder, IEnumerable<Expression>)
Expression.MakeDynamic(Type, CallSiteBinder, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, Expression, Expression, Expression, Expression)
Expression.MakeDynamic(Type, CallSiteBinder, params Expression[])
Expression.Break(LabelTarget)
Expression.Break(LabelTarget, Expression)
Expression.Break(LabelTarget, Type)
Expression.Break(LabelTarget, Expression, Type)
Expression.Continue(LabelTarget)
Expression.Continue(LabelTarget, Type)
Expression.Return(LabelTarget)
Expression.Return(LabelTarget, Type)
Expression.Return(LabelTarget, Expression)
Expression.Return(LabelTarget, Expression, Type)
Expression.Goto(LabelTarget)
Expression.Goto(LabelTarget, Type)
Expression.Goto(LabelTarget, Expression)
Expression.Goto(LabelTarget, Expression, Type)
Expression.MakeGoto(GotoExpressionKind, LabelTarget, Expression, Type)
Expression.MakeIndex(Expression, PropertyInfo, IEnumerable<Expression>)
Expression.ArrayAccess(Expression, params Expression[])
Expression.ArrayAccess(Expression, IEnumerable<Expression>)
Expression.Property(Expression, string, params Expression[])
Expression.Property(Expression, PropertyInfo, params Expression[])
Expression.Property(Expression, PropertyInfo, IEnumerable<Expression>)
Expression.Invoke(Expression, params Expression[])
Expression.Invoke(Expression, IEnumerable<Expression>)
Expression.Label(LabelTarget)
Expression.Label(LabelTarget, Expression)
Expression.Label()
Expression.Label(string)
Expression.Label(Type)
Expression.Label(Type, string)
Expression.Lambda<TDelegate>(Expression, params ParameterExpression[])
Expression.Lambda<TDelegate>(Expression, bool, params ParameterExpression[])
Expression.Lambda<TDelegate>(Expression, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, string, IEnumerable<ParameterExpression>)
Expression.Lambda<TDelegate>(Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, params ParameterExpression[])
Expression.Lambda(Expression, bool, params ParameterExpression[])
Expression.Lambda(Expression, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, params ParameterExpression[])
Expression.Lambda(Type, Expression, bool, params ParameterExpression[])
Expression.Lambda(Type, Expression, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, string, IEnumerable<ParameterExpression>)
Expression.Lambda(Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, string, IEnumerable<ParameterExpression>)
Expression.Lambda(Type, Expression, string, bool, IEnumerable<ParameterExpression>)
Expression.GetFuncType(params Type[])
Expression.TryGetFuncType(Type[], out Type)
Expression.GetActionType(params Type[])
Expression.TryGetActionType(Type[], out Type)
Expression.GetDelegateType(params Type[])
Expression.ListInit(NewExpression, params Expression[])
Expression.ListInit(NewExpression, IEnumerable<Expression>)
Expression.ListInit(NewExpression, MethodInfo, params Expression[])
Expression.ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)
Expression.ListInit(NewExpression, params ElementInit[])
Expression.ListInit(NewExpression, IEnumerable<ElementInit>)
Expression.Loop(Expression)
Expression.Loop(Expression, LabelTarget)
Expression.Loop(Expression, LabelTarget, LabelTarget)
Expression.Bind(MemberInfo, Expression)
Expression.Bind(MethodInfo, Expression)
Expression.Field(Expression, FieldInfo)
Expression.Field(Expression, string)
Expression.Field(Expression, Type, string)
Expression.Property(Expression, string)
Expression.Property(Expression, Type, string)
Expression.Property(Expression, PropertyInfo)
Expression.Property(Expression, MethodInfo)
Expression.PropertyOrField(Expression, string)
Expression.MakeMemberAccess(Expression, MemberInfo)
Expression.MemberInit(NewExpression, params MemberBinding[])
Expression.MemberInit(NewExpression, IEnumerable<MemberBinding>)
Expression.ListBind(MemberInfo, params ElementInit[])
Expression.ListBind(MemberInfo, IEnumerable<ElementInit>)
Expression.ListBind(MethodInfo, params ElementInit[])
Expression.ListBind(MethodInfo, IEnumerable<ElementInit>)
Expression.MemberBind(MemberInfo, params MemberBinding[])
Expression.MemberBind(MemberInfo, IEnumerable<MemberBinding>)
Expression.MemberBind(MethodInfo, params MemberBinding[])
Expression.MemberBind(MethodInfo, IEnumerable<MemberBinding>)
Expression.Call(MethodInfo, Expression)
Expression.Call(MethodInfo, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression, Expression)
Expression.Call(MethodInfo, Expression, Expression, Expression, Expression, Expression)
Expression.Call(MethodInfo, params Expression[])
Expression.Call(MethodInfo, IEnumerable<Expression>)
Expression.Call(Expression, MethodInfo)
Expression.Call(Expression, MethodInfo, params Expression[])
Expression.Call(Expression, MethodInfo, Expression, Expression)
Expression.Call(Expression, MethodInfo, Expression, Expression, Expression)
Expression.Call(Expression, string, Type[], params Expression[])
Expression.Call(Type, string, Type[], params Expression[])
Expression.Call(Expression, MethodInfo, IEnumerable<Expression>)
Expression.ArrayIndex(Expression, params Expression[])
Expression.ArrayIndex(Expression, IEnumerable<Expression>)
Expression.NewArrayInit(Type, params Expression[])
Expression.NewArrayInit(Type, IEnumerable<Expression>)
Expression.NewArrayBounds(Type, params Expression[])
Expression.NewArrayBounds(Type, IEnumerable<Expression>)
Expression.New(ConstructorInfo)
Expression.New(ConstructorInfo, params Expression[])
Expression.New(ConstructorInfo, IEnumerable<Expression>)
Expression.New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
Expression.New(ConstructorInfo, IEnumerable<Expression>, params MemberInfo[])
Expression.New(Type)
Expression.Parameter(Type)
Expression.Variable(Type)
Expression.Parameter(Type, string)
Expression.Variable(Type, string)
Expression.RuntimeVariables(params ParameterExpression[])
Expression.RuntimeVariables(IEnumerable<ParameterExpression>)
Expression.SwitchCase(Expression, params Expression[])
Expression.SwitchCase(Expression, IEnumerable<Expression>)
Expression.Switch(Expression, params SwitchCase[])
Expression.Switch(Expression, Expression, params SwitchCase[])
Expression.Switch(Expression, Expression, MethodInfo, params SwitchCase[])
Expression.Switch(Type, Expression, Expression, MethodInfo, params SwitchCase[])
Expression.Switch(Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)
Expression.Switch(Type, Expression, Expression, MethodInfo, IEnumerable<SwitchCase>)
Expression.SymbolDocument(string)
Expression.SymbolDocument(string, Guid)
Expression.SymbolDocument(string, Guid, Guid)
Expression.SymbolDocument(string, Guid, Guid, Guid)
Expression.TryFault(Expression, Expression)
Expression.TryFinally(Expression, Expression)
Expression.TryCatch(Expression, params CatchBlock[])
Expression.TryCatchFinally(Expression, Expression, params CatchBlock[])
Expression.MakeTry(Type, Expression, Expression, Expression, IEnumerable<CatchBlock>)
Expression.TypeIs(Expression, Type)
Expression.TypeEqual(Expression, Type)
Expression.MakeUnary(ExpressionType, Expression, Type)
Expression.MakeUnary(ExpressionType, Expression, Type, MethodInfo)
Expression.Negate(Expression)
Expression.Negate(Expression, MethodInfo)
Expression.UnaryPlus(Expression)
Expression.UnaryPlus(Expression, MethodInfo)
Expression.NegateChecked(Expression)
Expression.NegateChecked(Expression, MethodInfo)
Expression.Not(Expression)
Expression.Not(Expression, MethodInfo)
Expression.IsFalse(Expression)
Expression.IsFalse(Expression, MethodInfo)
Expression.IsTrue(Expression)
Expression.IsTrue(Expression, MethodInfo)
Expression.OnesComplement(Expression)
Expression.OnesComplement(Expression, MethodInfo)
Expression.TypeAs(Expression, Type)
Expression.Unbox(Expression, Type)
Expression.Convert(Expression, Type)
Expression.Convert(Expression, Type, MethodInfo)
Expression.ConvertChecked(Expression, Type)
Expression.ConvertChecked(Expression, Type, MethodInfo)
Expression.ArrayLength(Expression)
Expression.Quote(Expression)
Expression.Rethrow()
Expression.Rethrow(Type)
Expression.Throw(Expression)
Expression.Throw(Expression, Type)
Expression.Increment(Expression)
Expression.Increment(Expression, MethodInfo)
Expression.Decrement(Expression)
Expression.Decrement(Expression, MethodInfo)
Expression.PreIncrementAssign(Expression)
Expression.PreIncrementAssign(Expression, MethodInfo)
Expression.PreDecrementAssign(Expression)
Expression.PreDecrementAssign(Expression, MethodInfo)
Expression.PostIncrementAssign(Expression)
Expression.PostIncrementAssign(Expression, MethodInfo)
Expression.PostDecrementAssign(Expression)
Expression.PostDecrementAssign(Expression, MethodInfo)
Expression.Type
object.GetType()
object.MemberwiseClone()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: DotNext.Linq.Expressions
Assembly: DotNext.Metaprogramming.dll
Syntax
public abstract class CustomExpression : Expression

Constructors

View Source

CustomExpression()

Initializes a new custom expression node.

Declaration
protected CustomExpression()

Properties

View Source

CanReduce

Indicates that this expression can be reduced to well-known LINQ expression.

Declaration
public override sealed bool CanReduce { get; }
Property Value
Type Description
bool
Overrides
Expression.CanReduce
View Source

NodeType

Expression type. Always returns Extension.

Declaration
public override sealed ExpressionType NodeType { get; }
Property Value
Type Description
ExpressionType
Overrides
Expression.NodeType

Methods

View Source

Reduce()

Translates this expression into predefined set of expressions using Lowering technique.

Declaration
public override abstract Expression Reduce()
Returns
Type Description
Expression

Translated expression.

Overrides
Expression.Reduce()

Extension Methods

BasicExtensions.As<T>(T)
BasicExtensions.IsBetween<T, TLowerBound, TUpperBound>(T, TLowerBound, TUpperBound)
BasicExtensions.IsOneOf<T>(T, params ReadOnlySpan<T>)
ExpressionBuilder.AndAlso(Expression, Expression)
ExpressionBuilder.AsDynamic(Expression?)
ExpressionBuilder.AsResult(Expression)
ExpressionBuilder.AsString(Expression)
ExpressionBuilder.Await(Expression, bool)
ExpressionBuilder.Call(Expression, MethodInfo, params Expression[])
ExpressionBuilder.Call(Expression, string, params Expression[])
ExpressionBuilder.Call(Expression, Type, string, params Expression[])
ExpressionBuilder.Concat(Expression, params Expression[])
ExpressionBuilder.Condition(Expression, Expression?, Expression?, Type?)
ExpressionBuilder.Condition<TResult>(Expression, Expression, Expression)
ExpressionBuilder.Convert(Expression, Type)
ExpressionBuilder.Convert<T>(Expression)
ExpressionBuilder.ElementAt(Expression, ItemIndexExpression)
ExpressionBuilder.ElementAt(Expression, params Expression[])
ExpressionBuilder.Equal(Expression, Expression)
ExpressionBuilder.Field(Expression, FieldInfo)
ExpressionBuilder.Field(Expression, string)
ExpressionBuilder.Finally(Expression, Expression)
ExpressionBuilder.For(Expression, ForExpression.LoopBuilder.Condition, ForExpression.LoopBuilder.Iteration, ForExpression.LoopBuilder.Statement)
ExpressionBuilder.ForEach(Expression, ForEachExpression.Statement)
ExpressionBuilder.IfNotNull(Expression, Func<ParameterExpression, Expression>)
ExpressionBuilder.Index(Expression, bool)
ExpressionBuilder.InstanceOf(Expression, Type)
ExpressionBuilder.InstanceOf<T>(Expression)
ExpressionBuilder.Invoke(Expression, params Expression[])
ExpressionBuilder.Lock(Expression, LockExpression.Statement)
ExpressionBuilder.Loop(Expression)
ExpressionBuilder.Loop(Expression, LabelTarget)
ExpressionBuilder.Loop(Expression, LabelTarget, LabelTarget)
ExpressionBuilder.New(Expression, params Expression[])
ExpressionBuilder.NotEqual(Expression, Expression)
ExpressionBuilder.OrElse(Expression, Expression)
ExpressionBuilder.Power(Expression, Expression)
ExpressionBuilder.Property(Expression, PropertyInfo)
ExpressionBuilder.Property(Expression, PropertyInfo, Expression, params Expression[])
ExpressionBuilder.Property(Expression, string)
ExpressionBuilder.Property(Expression, string, Expression, params Expression[])
ExpressionBuilder.Property(Expression, Type, string)
ExpressionBuilder.Property(Expression, Type, string, Expression, params Expression[])
ExpressionBuilder.Slice(Expression, ItemIndexExpression?, ItemIndexExpression?)
ExpressionBuilder.Slice(Expression, Expression)
ExpressionBuilder.Throw(Expression, Type?)
ExpressionBuilder.TryConvert(Expression, Type)
ExpressionBuilder.TryConvert<T>(Expression)
ExpressionBuilder.Unbox(Expression, Type)
ExpressionBuilder.Unbox<T>(Expression)
ExpressionBuilder.Until(Expression, WhileExpression.Statement)
ExpressionBuilder.Using(Expression, UsingExpression.Statement)
ExpressionBuilder.While(Expression, WhileExpression.Statement)
ExpressionBuilder.With(Expression, MemberBindings)
ExpressionBuilder.With(Expression, WithExpression.Statement)
  • View Source
☀
☾
In this article
Back to top
Supported by the .NET Foundation
☀
☾