IInvocationOperation 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示方法的调用。
当前用法: (1) C# 方法调用表达式。
(2) C# 集合元素初始值设定项。
例如,在以下集合初始值设定项中, new C() { 1, 2, 3 }
我们将有 3 IInvocationOperation 个节点,每个节点都将调用相应的 Add 方法,其中 1、2、3 作为参数。
(3) VB 方法调用表达式。
(4) VB 集合元素初始值设定项。
与 C# 示例类似, New C() From {1, 2, 3}
将有 3 IInvocationOperation 个节点,分别为 1、2 和 3 作为参数。
public interface class IInvocationOperation : Microsoft::CodeAnalysis::IOperation
public interface IInvocationOperation : Microsoft.CodeAnalysis.IOperation
type IInvocationOperation = interface
interface IOperation
Public Interface IInvocationOperation
Implements IOperation
- 实现
注解
此节点与以下操作类型相关联:
此接口由其关联的 API 保留用于实现。 我们保留将来更改它的权利。
属性
Arguments |
调用的参数,不包括实例参数。 参数按计算顺序排列。 |
ChildOperations |
此操作的子操作的可枚举。 (继承自 IOperation) |
Children |
已过时.
此操作的子操作数组。 已弃用:请使用 ChildOperations。 (继承自 IOperation) |
ConstantValue |
如果操作是计算结果为常量值的表达式, HasValue 则 为 true,并且 Value 是表达式的值。 否则, HasValue 为 false。 (继承自 IOperation) |
ConstrainedToType |
将使用哪个运行时类型来解析 的虚拟调用的类型 TargetMethod参数。 如果 以静态方式解析,或 是实例方法,则 TargetMethod 为 Null。 |
Instance |
要提供给 方法的“This”或“Me”实例;如果方法为静态,则为 null。 |
IsImplicit |
如果编译器生成 /由编译器代码隐式计算,则设置为 True (继承自 IOperation) |
IsVirtual |
如果调用使用虚拟机制,则为 True;否则为 false。 |
Kind |
标识操作的类型。 (继承自 IOperation) |
Language |
IOperation 的源语言。 可能的值为 CSharp 和 VisualBasic。 (继承自 IOperation) |
Parent |
将此操作作为子级的 IOperation。 根为 Null。 (继承自 IOperation) |
SemanticModel |
用于生成此操作的可选语义模型。 对于使用 GetOperation(SyntaxNode, CancellationToken) API 和对分析器所做的操作回调从源生成的操作为非 null。 对于 中的操作, ControlFlowGraph为 Null。 (继承自 IOperation) |
Syntax |
已分析以生成操作的语法。 (继承自 IOperation) |
TargetMethod |
要调用的方法。 |
Type |
操作的结果类型;如果操作不生成结果,则为 null。 (继承自 IOperation) |
方法
Accept(OperationVisitor) |
表示方法的调用。
当前用法: (1) C# 方法调用表达式。
(2) C# 集合元素初始值设定项。
例如,在以下集合初始值设定项中, |
Accept<TArgument,TResult>(OperationVisitor<TArgument,TResult>, TArgument) |
表示方法的调用。
当前用法: (1) C# 方法调用表达式。
(2) C# 集合元素初始值设定项。
例如,在以下集合初始值设定项中, |
扩展方法
Descendants(IOperation) |
以求值顺序返回给定 |
DescendantsAndSelf(IOperation) |
返回给定 |