对 CaretOffset/LanguageItem 方法感到困惑
Confused by CaretOffset/LanguageItem methods
我试图找出光标所在的源文件元素(代码在 pad 内)
//Obtain document
Document sf = IdeApp.Workbench.ActiveDocument;
//out argument
DocumentRegion dr;
//Call using offset
Microsoft.CodeAnalysis.ISymbol o = sf.GetLanguageItem(sf.Editor.CaretOffset , out dr);
返回的 ISymbol "o" 是 Object 的 Equals。文档 sf 是一个带有无参数构造函数的简单 class。光标位于构造函数内。我期待我的 class 构造函数。
哪里出错了?
好的。我找到了一种解决方法,可以从当前编辑器插入符偏移量中获取上下文数据。它需要从当前文档中获取AnalysisDocument,然后是文档的SemanticModel,获取这个模型后,调用GetEnclosingSymbol 插入符偏移量。
我试图找出光标所在的源文件元素(代码在 pad 内)
//Obtain document
Document sf = IdeApp.Workbench.ActiveDocument;
//out argument
DocumentRegion dr;
//Call using offset
Microsoft.CodeAnalysis.ISymbol o = sf.GetLanguageItem(sf.Editor.CaretOffset , out dr);
返回的 ISymbol "o" 是 Object 的 Equals。文档 sf 是一个带有无参数构造函数的简单 class。光标位于构造函数内。我期待我的 class 构造函数。
哪里出错了?
好的。我找到了一种解决方法,可以从当前编辑器插入符偏移量中获取上下文数据。它需要从当前文档中获取AnalysisDocument,然后是文档的SemanticModel,获取这个模型后,调用GetEnclosingSymbol 插入符偏移量。