2017-03-14 17 views
0

我試圖找出在光標位於其源文件元素困惑(代碼是墊內)通過CaretOffset/LanguageItem方法

//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是一個帶無參數構造函數的簡單類。遊標在構造函數內。我期待我的類構造函數。

錯誤在哪裏?

回答

0

好的。我發現了一個解決方法,可以從當前編輯器插入符號偏移量中獲取上下文數據。它需要從當前文檔獲取AnalysisDocument,然後獲取文檔的SemanticModel,並在獲得該模型後,使用插入偏移量調用GetEnclosingSymbol。