IDeclarationExpressionOperation Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a declaration expression operation. Unlike a regular variable declaration IVariableDeclaratorOperation and IVariableDeclarationOperation, this operation represents an "expression" declaring a variable.
Current usage:
-
C# deconstruction assignment expression. For example:
var (x, y)
is a deconstruction declaration expression with variablesx
andy
(var x, var y)
is a tuple expression with two declaration expressionsM(out var x);
is an invocation expression with an outvar x
declaration expression
public interface class IDeclarationExpressionOperation : Microsoft::CodeAnalysis::IOperation
public interface IDeclarationExpressionOperation : Microsoft.CodeAnalysis.IOperation
type IDeclarationExpressionOperation = interface
interface IOperation
Public Interface IDeclarationExpressionOperation
Implements IOperation
- Implements
Remarks
This node is associated with the following operation kinds:
This interface is reserved for implementation by its associated APIs. We reserve the right to change it in the future.
Properties
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) |
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) |
Expression |
Underlying expression. |
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) |
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 |
DescendantsAndSelf(IOperation) |
Returns all the descendant operations of the given |