namespace BLToolkit.Aspects { [System.Diagnostics.DebuggerStepThrough] public abstract class Interceptor : IInterceptor { public virtual void Init(CallMethodInfo info, string configString) { } public virtual void Intercept(InterceptCallInfo info) { switch (info.InterceptType) { case InterceptType.BeforeCall: BeforeCall(info); break; case InterceptType.AfterCall: AfterCall (info); break; case InterceptType.OnCatch: OnCatch (info); break; case InterceptType.OnFinally: OnFinally (info); break; } } protected virtual void BeforeCall(InterceptCallInfo info) {} protected virtual void AfterCall (InterceptCallInfo info) {} protected virtual void OnCatch (InterceptCallInfo info) {} protected virtual void OnFinally (InterceptCallInfo info) {} } }