困惑的CaretOffset / LanguageItem方法

时间:2017-03-14 19:34:19

标签: xamarin-studio

我试图找出光标所在的源文件元素(代码在填充内)

//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"是对象的等号。文档sf是一个带有无参数构造函数的简单类。光标位于构造函数中。我期待着我的类构造函数。

错误在哪里?

1 个答案:

答案 0 :(得分:0)

确定。我找到了解决当前编辑器插入偏移量的上下文数据的工作。它需要从当前文档获取AnalysisDocument,然后获取文档的SemanticModel,并在获得此模型后,使用插入符号偏移调用GetEnclosingSymbol。