public ChangeSignatureOptionsResult GetChangeSignatureOptions(ISymbol symbol, ParameterConfiguration parameters, INotificationService notificationService) { var dialog = new SignatureChangeDialog(); try { dialog.Init(symbol, parameters); bool performChange = dialog.Run() == (int)Gtk.ResponseType.Ok; if (!performChange) { return(cancelled); } return(new ChangeSignatureOptionsResult { IsCancelled = false, UpdatedSignature = new Microsoft.CodeAnalysis.ChangeSignature.SignatureChange(parameters, ParameterConfiguration.Create(dialog.ParameterList, parameters.ThisParameter != null)) }); } catch (Exception ex) { LoggingService.LogError("Error while signature changing.", ex); return(cancelled); } finally { dialog.Destroy(); } }