Show / Hide Table of Contents

Class ForExpression

Represents for loop as expression.

Inheritance
object
Expression
CustomExpression
ForExpression
Inherited Members
CustomExpression.NodeType
CustomExpression.CanReduce
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.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)
object.GetType()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: DotNext.Linq.Expressions
Assembly: DotNext.Metaprogramming.dll
Syntax
public sealed class ForExpression : CustomExpression

Properties

View Source

Body

Gets body of this loop.

Declaration
public Expression Body { get; }
Property Value
Type Description
Expression
View Source

BreakLabel

Gets label that is used by the loop body as a break statement target.

Declaration
public LabelTarget BreakLabel { get; }
Property Value
Type Description
LabelTarget
View Source

ContinueLabel

Gets label that is used by the loop body as a continue statement target.

Declaration
public LabelTarget ContinueLabel { get; }
Property Value
Type Description
LabelTarget
View Source

Initialization

Represents loop variable initialization expression.

Declaration
public Expression Initialization { get; }
Property Value
Type Description
Expression
View Source

LoopVar

Represents loop variable initialized by Initialization.

Declaration
public ParameterExpression LoopVar { get; }
Property Value
Type Description
ParameterExpression
View Source

Test

Represents condition of the loop continuation.

Declaration
public Expression Test { get; }
Property Value
Type Description
Expression
View Source

Type

Always returns void.

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

Methods

View Source

Builder(Expression)

Creates a builder of ForExpression.

Declaration
public static ForExpression.LoopBuilder Builder(Expression initialization)
Parameters
Type Name Description
Expression initialization

Loop variable initialization expression.

Returns
Type Description
ForExpression.LoopBuilder

A new instance of builder.

View Source

Reduce()

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

Declaration
public override Expression Reduce()
Returns
Type Description
Expression

Translated expression.

Overrides
CustomExpression.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)

See Also

for Statement
  • View Source
☀
☾
In this article
Back to top
Supported by the .NET Foundation
☀
☾