Share via


IDynamicInvocationOperation Interface

Definition

Represents a invocation that is dynamically bound.

Current usage: (1) C# dynamic invocation expression. (2) C# dynamic collection element initializer. For example, in the following collection initializer: new C() { do1, do2, do3 } where the doX objects are of type dynamic, we'll have 3 IDynamicInvocationOperation with do1, do2, and do3 as their arguments. (3) VB late bound invocation expression. (4) VB dynamic collection element initializer. Similar to the C# example, New C() From {do1, do2, do3} will generate 3 IDynamicInvocationOperation nodes with do1, do2, and do3 as their arguments, respectively.

public interface class IDynamicInvocationOperation : Microsoft::CodeAnalysis::IOperation
public interface IDynamicInvocationOperation : Microsoft.CodeAnalysis.IOperation
type IDynamicInvocationOperation = interface
    interface IOperation
Public Interface IDynamicInvocationOperation
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

Arguments

Dynamically bound arguments, excluding the instance argument.

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)
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)
Operation

Dynamically or late bound operation.

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.

GetArgumentName(IDynamicInvocationOperation, Int32)

Get an optional argument name for a named argument to the given dynamicOperation at the given index.

GetArgumentRefKind(IDynamicInvocationOperation, Int32)

Get an optional argument RefKind for an argument at the given index to the given dynamicOperation. Returns a non-null argument RefKind for C#. Always returns null for VB as RefKind cannot be specified for an argument in VB.

Applies to