public static object Invoke(object instance, Expression <Action> member) { Logging.Before(instance, member); object result = null; try { result = DynamicMethod.Execute(instance, member); } catch (Exception e) { ExceptionNotity.Invoke(instance, member, e); throw new AOPException("AOP Exception", e); } finally { Logging.After(instance, member); } return(result); }