Show / Hide Table of Contents

Class WhileExpression

Represents while loop expression.

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

Properties

| Improve this Doc View Source

Body

Gets body of the loop.

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

NodeType

Always returns .

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

Test

Gets loop condition.

Declaration
public Expression Test { get; }
Property Value
Type Description
Expression
| 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, WhileExpression.Statement, Boolean)

Creates a new loop expression.

Declaration
public static WhileExpression Create(Expression test, WhileExpression.Statement body, bool checkConditionFirst)
Parameters
Type Name Description
Expression test

The loop condition.

WhileExpression.Statement body

The delegate that is used to construct loop body.

Boolean checkConditionFirst

true to check condition before loop body; false to use do-while style.

Returns
Type Description
WhileExpression

The constructed loop expression.

| Improve this Doc View Source

Create(Expression, Expression, Boolean)

Creates a new loop expression.

Declaration
public static WhileExpression Create(Expression test, Expression body, bool checkConditionFirst)
Parameters
Type Name Description
Expression test

The loop condition.

Expression body

The loop body.

Boolean checkConditionFirst

true to check condition before loop body; false to use do-while style.

Returns
Type Description
WhileExpression

The constructed loop expression.

| 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.

| Improve this Doc View Source

Update(Expression)

Reconstructs loop expression with a new body.

Declaration
public WhileExpression Update(Expression body)
Parameters
Type Name Description
Expression body

The body of the loop.

Returns
Type Description
WhileExpression

Updated loop 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

while Statement
do-while Statement
  • Improve this Doc
  • View Source
Back to top Generated by DocFX