Partilhar via


IForEachLoopOperation Interface

Definition

Represents a for each loop.

Current usage:

  1. C# 'foreach' loop statement
  2. VB 'For Each' loop statement

public interface class IForEachLoopOperation : Microsoft::CodeAnalysis::Operations::ILoopOperation
public interface IForEachLoopOperation : Microsoft.CodeAnalysis.Operations.ILoopOperation
type IForEachLoopOperation = interface
    interface ILoopOperation
    interface IOperation
Public Interface IForEachLoopOperation
Implements ILoopOperation
Implements

Remarks

This interface is reserved for implementation by its associated APIs. We reserve the right to change it in the future.

Properties

Body

Body of the loop.

(Inherited from ILoopOperation)
ChildOperations

An enumerable of child operations for this operation.

(Inherited from IOperation)
Children
Obsolete.

An array of child operations for this operation. Deprecated: please use ChildOperations.

(Inherited from IOperation)
Collection

Collection value over which the loop iterates.

ConstantValue

If the operation is an expression that evaluates to a constant value, HasValue is true and Value is the value of the expression. Otherwise, HasValue is false.

(Inherited from IOperation)
ContinueLabel

Loop continue label.

(Inherited from ILoopOperation)
ExitLabel

Loop exit/break label.

(Inherited from ILoopOperation)
IsAsynchronous

Whether this for each loop is asynchronous. Always false for VB.

IsImplicit

Set to True if compiler generated /implicitly computed by compiler code

(Inherited from IOperation)
Kind

Identifies the kind of the operation.

(Inherited from IOperation)
Language

The source language of the IOperation. Possible values are CSharp and VisualBasic.

(Inherited from IOperation)
Locals

Declared locals.

(Inherited from ILoopOperation)
LoopControlVariable

Refers to the operation for declaring a new local variable or reference an existing variable or an expression.

LoopKind

Kind of the loop.

(Inherited from ILoopOperation)
NextVariables

Optional list of comma separated next variables at loop bottom in VB. This list is always empty for C#.

Parent

IOperation that has this operation as a child. Null for the root.

(Inherited from IOperation)
SemanticModel

Optional semantic model that was used to generate this operation. Non-null for operations generated from source with GetOperation(SyntaxNode, CancellationToken) API and operation callbacks made to analyzers. Null for operations inside a ControlFlowGraph.

(Inherited from IOperation)
Syntax

Syntax that was analyzed to produce the operation.

(Inherited from IOperation)
Type

Result type of the operation, or null if the operation does not produce a result.

(Inherited from IOperation)

Methods

Accept(OperationVisitor) (Inherited from IOperation)
Accept<TArgument,TResult>(OperationVisitor<TArgument,TResult>, TArgument) (Inherited from IOperation)

Extension Methods

Descendants(IOperation)

Returns all the descendant operations of the given operation in evaluation order.

DescendantsAndSelf(IOperation)

Returns all the descendant operations of the given operation including the given operation in evaluation order.

Applies to