private static void InvokeCallbackUIThread(object sender) { UIThreadInvoker.AssertUIThread(); try { var command = sender as DynamicMenuCommand; if (command == null) { throw new InvalidOperationException("invalid command"); } command.ExecuteCommand(); } catch (Exception ex) { ContractsVsPackage.ReportException(ex); } }
private static void QueryStatusCallbackUIThread(object sender) { UIThreadInvoker.AssertUIThread(); try { DynamicMenuCommand command = sender as DynamicMenuCommand; if (command == null) { throw new InvalidOperationException(); } if (command.Package.Zombied) { return; } command.QueryStatus(); } catch (Exception ex) { ContractsVsPackage.ReportException(ex); } }