private void SafeInvokeScreenshotRequested(ScreenshotRequest eventArgs) { if (ScreenshotRequested == null) { return; //No Listeners } ScreenshotRequestedEvent listener = null; Delegate[] dels = ScreenshotRequested.GetInvocationList(); foreach (Delegate del in dels) { try { listener = (ScreenshotRequestedEvent)del; listener.Invoke(eventArgs); } catch (Exception) { //Could not reach the destination, so remove it //from the list ScreenshotRequested -= listener; } } }
public void ScreenshotRequestedProxyHandler(ScreenshotRequest request) { ScreenshotRequested?.Invoke(request); }
private void TakeScreenshotExecute(object parameter) { ScreenshotRequested?.Invoke(this, EventArgs.Empty); }