diff Source/Aspects/Interceptor.cs @ 0:f990fcb411a9

Копия текущей версии из github
author cin
date Thu, 27 Mar 2014 21:46:09 +0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Source/Aspects/Interceptor.cs	Thu Mar 27 21:46:09 2014 +0400
@@ -0,0 +1,26 @@
+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) {}
+	}
+}