Show / Hide Table of Contents

Class ForEachExpression

Represents iteration over collection elements as expression.

Inheritance
Object
ForEachExpression
Namespace: DotNext.Linq.Expressions
Assembly: DotNext.Metaprogramming.dll
Syntax
public sealed class ForEachExpression : Expression, ILoopLabels

Properties

| Improve this Doc View Source

Body

Gets loop body.

Declaration
public Expression Body { get; }
Property Value
Type Description
Expression
| Improve this Doc 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
| Improve this Doc View Source

CanReduce

Always returns true because this expression is .

Declaration
public override bool CanReduce { get; }
Property Value
Type Description
Boolean
| Improve this Doc 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
| Improve this Doc View Source

Element

Gets collection element in the iteration.

Declaration
public MemberExpression Element { get; }
Property Value
Type Description
MemberExpression
| Improve this Doc View Source

NodeType

Always returns .

Declaration
public override ExpressionType NodeType { get; }
Property Value
Type Description
ExpressionType
| Improve this Doc View Source

Type

Always returns .

Declaration
public override Type Type { get; }
Property Value
Type Description
Type

Methods

| Improve this Doc View Source

Create(Expression, ForEachExpression.Statement)

Creates a new loop expression.

Declaration
public static ForEachExpression Create(Expression collection, ForEachExpression.Statement body)
Parameters
Type Name Description
Expression collection

The collection to iterate through.

ForEachExpression.Statement body

A delegate that is used to construct the body of the loop.

Returns
Type Description
ForEachExpression

The expression instance.

| Improve this Doc View Source

Create(Expression, Expression)

Creates a new loop expression.

Declaration
public static ForEachExpression Create(Expression collection, Expression body)
Parameters
Type Name Description
Expression collection

The collection to iterate through.

Expression body

The body of the loop.

Returns
Type Description
ForEachExpression

The expression instance.

| Improve this Doc 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.

Extension Methods

AsyncLockAcquisition.AcquireLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireReadLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireWriteLockAsync<T>(T, CancellationToken)
AsyncLockAcquisition.AcquireUpgradeableReadLockAsync<T>(T, TimeSpan)
AsyncLockAcquisition.AcquireUpgradeableReadLockAsync<T>(T, CancellationToken)
ExpressionBuilder.Const<T>(T)
ObjectExtensions.GetUserData<T>(T)
ObjectExtensions.IsOneOf<T>(T, IEnumerable<T>)
ObjectExtensions.IsOneOf<T>(T, T[])
ObjectExtensions.Decompose<T, R1, R2>(T, Func<T, R1>, Func<T, R2>, out R1, out R2)
ObjectExtensions.Decompose<T, R1, R2>(T, ValueFunc<T, R1>, ValueFunc<T, R2>, out R1, out R2)
ObjectExtensions.Decompose<T, R1, R2>(T, Func<T, R1>, Func<T, R2>)
ObjectExtensions.Decompose<T, R1, R2>(T, ValueFunc<T, R1>, ValueFunc<T, R2>)
LockAcquisition.AcquireReadLock<T>(T)
LockAcquisition.AcquireReadLock<T>(T, TimeSpan)
LockAcquisition.AcquireWriteLock<T>(T)
LockAcquisition.AcquireWriteLock<T>(T, TimeSpan)
LockAcquisition.AcquireUpgradeableReadLock<T>(T)
LockAcquisition.AcquireUpgradeableReadLock<T>(T, TimeSpan)

See Also

foreach Statement
  • Improve this Doc
  • View Source
Back to top Generated by DocFX