public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext) { var eventArgs = new CallSiteEventArgs(input.Target, input.MethodBase); broadcaster.BroadcastStart(eventArgs); var result = getNext()(input, getNext); broadcaster.BroadcastComplete(eventArgs); return(result); }
private void Trigger(CallSiteEventArgs args, EventHandler<CallSiteEventArgs> handler) { if (handler != null) handler(this, args); }
public void BroadcastStart(CallSiteEventArgs e) { Broadcast(p => p.OnMethodStarted(e)); }
internal void Trigger(CallSiteEventArgs args) { Trigger(args, OnLogMessage); }
public void BroadcastComplete(CallSiteEventArgs e) { Broadcast(p => p.OnMethodCompleted(e)); }