private void RaiseEvent(PipelineEvent @event, bool ignoreAbort = false) { var observersForEvent = (from e in _observedEvents where e.Key == @event.GetType().FullName select e.Value).SingleOrDefault(); if (observersForEvent == null || observersForEvent.Count == 0) { return; } foreach (var observer in observersForEvent) { _log.Verbose(string.Format(RaisingPipelineEvent, @event.Name, StageName, observer.GetType().FullName)); observer.GetType().InvokeMember("Execute", BindingFlags.FlattenHierarchy | BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, observer, new[] { @event }); if (Aborted && !ignoreAbort) { return; } } }
private void RaiseEvent(PipelineEvent @event, bool ignoreAbort = false) { var observersForEvent = (from e in _observedEvents where e.Key == @event.GetType().FullName select e.Value).SingleOrDefault(); if (observersForEvent == null || observersForEvent.Count == 0) { return; } foreach (var observer in observersForEvent) { _log.Verbose(string.Format(RaisingPipelineEvent, @event.Name, StageName, observer.GetType().FullName)); observer.GetType().InvokeMember("Execute", BindingFlags.FlattenHierarchy | BindingFlags.Instance | BindingFlags.InvokeMethod | BindingFlags.Public, null, observer, new[] {@event}); if (Aborted && !ignoreAbort) { return; } } }