protected override void Run(object dataItem) { if (dataItem is Result) { ((Result)dataItem).ShowResultOptionsDialog(); return; } if (dataItem is System.Action) { ((System.Action)dataItem)(); return; } if (!RefactoringService.CheckUserSettings()) { return; } var action = dataItem as IAnalysisFixAction; if (action != null) { action.Fix(); return; } var ca = dataItem as CodeAction; if (ca != null) { var doc = MonoDevelop.Ide.IdeApp.Workbench.ActiveDocument; var context = doc.ParsedDocument.CreateRefactoringContext != null?doc.ParsedDocument.CreateRefactoringContext(doc, default(CancellationToken)) : null; using (var script = context.CreateScript()) { ca.Run(context, script); } return; } }