コード例 #1
0
 private Object DefaultInvoke(Object[] parameters,
                              MethodAttributeContext context,
                              Func <MethodAttributeContext, Object> action)
 {
     context.SetParameters(parameters);
     return(action?.Invoke(context));
 }
コード例 #2
0
        private Object PipeInvoke(MethodInfo method, Object[] parameters,
                                  MethodAttributeContext context)
        {
            context.SetParameters(parameters);
            OnExecuting(context);
            var resul = method.Invoke(ProxyInstance, parameters);

            OnExecuted(context);
            return(resul);
        }
コード例 #3
0
 /// <summary>
 ///  if method return type is task<T>
 /// </summary>
 /// <returns></returns>
 public abstract Task <T> InvokeAsync <T>(MethodAttributeContext context);
コード例 #4
0
 /// <summary>
 /// if method return type is task
 /// </summary>
 /// <returns></returns>
 public abstract Task InvokeAsync(MethodAttributeContext context);
コード例 #5
0
 /// <summary>
 /// if method is sync
 /// </summary>
 /// <returns></returns>
 public abstract object Invoke(MethodAttributeContext context);
コード例 #6
0
 public override void OnExecuted(MethodAttributeContext context)
 {
     OnExecutedAsync(context);
 }
コード例 #7
0
 public abstract Task OnExecutedAsync(MethodAttributeContext context);
コード例 #8
0
 public abstract void OnExecuted(MethodAttributeContext context);