ModelExtensions.GetSpeculativeTypeInfo 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在指定位置的上下文中绑定节点,并获取类型、符号和诊断等语义信息。 此方法用于获取有关实际上未显示在源代码中的表达式的语义信息。
public:
[System::Runtime::CompilerServices::Extension]
static Microsoft::CodeAnalysis::TypeInfo GetSpeculativeTypeInfo(Microsoft::CodeAnalysis::SemanticModel ^ semanticModel, int position, Microsoft::CodeAnalysis::SyntaxNode ^ expression, Microsoft::CodeAnalysis::SpeculativeBindingOption bindingOption);
public static Microsoft.CodeAnalysis.TypeInfo GetSpeculativeTypeInfo (this Microsoft.CodeAnalysis.SemanticModel semanticModel, int position, Microsoft.CodeAnalysis.SyntaxNode expression, Microsoft.CodeAnalysis.SpeculativeBindingOption bindingOption);
static member GetSpeculativeTypeInfo : Microsoft.CodeAnalysis.SemanticModel * int * Microsoft.CodeAnalysis.SyntaxNode * Microsoft.CodeAnalysis.SpeculativeBindingOption -> Microsoft.CodeAnalysis.TypeInfo
<Extension()>
Public Function GetSpeculativeTypeInfo (semanticModel As SemanticModel, position As Integer, expression As SyntaxNode, bindingOption As SpeculativeBindingOption) As TypeInfo
参数
- semanticModel
- SemanticModel
- position
- Int32
用于标识声明范围和辅助功能的字符位置。 此字符位置必须位于此 SemanticModel 中根语法节点的 FullSpan 内。
- expression
- SyntaxNode
表示已分析表达式的语法节点。 此语法节点不需要,通常不会出现在引用 SemanticModel 实例的源代码中。
- bindingOption
- SpeculativeBindingOption
指示是将表达式绑定为完整表达式,还是作为类型或命名空间绑定。 如果提供了 SpeculativeBindingOption.BindAsTypeOrNamespace,则表达式应派生自 TypeSyntax。
返回
表达式最顶层节点的语义信息。
注解
传入的表达式被解释为独立表达式,就像它本身出现在包含“position”的作用域内的某个位置一样。