예제 #1
0
 public DefaultInvocation(IInterceptor[] interceptors, MemberTypes memberType, string memberName, MemberOperateTypes memberOperateType, object[] arguments, object invocationTarget, MethodInfo methodInvocationTarget, object proxy, MethodInfo method)
 {
     if (interceptors != null)
     {
         _interceptors = new Queue <IInterceptor>(interceptors);
     }
     MemberType             = memberType;
     MemberName             = memberName;
     MemberOperateType      = memberOperateType;
     Arguments              = arguments;
     InvocationTarget       = invocationTarget;
     MethodInvocationTarget = methodInvocationTarget;
     Proxy       = proxy;
     Method      = method;
     ReturnValue = new WrapperObject();
 }
예제 #2
0
 /// <summary>
 /// 调用 抽象类
 /// </summary>
 /// <param name="interceptors">拦截器</param>
 /// <param name="memberType">成员类型</param>
 /// <param name="memberName">成员名</param>
 /// <param name="memberOperateType">成员操作类型</param>
 /// <param name="argumentTypes">参数类型</param>
 /// <param name="genericArgumentTypes">泛型参数类型</param>
 /// <param name="returnValueType">返回类型</param>
 /// <param name="invocationTarget">调用目标对象</param>
 /// <param name="proxy">代理对象</param>
 /// <param name="arguments">参数</param>
 protected InvocationBase(IInterceptor[] interceptors, MemberTypes memberType, string memberName, MemberOperateTypes memberOperateType, Type[] argumentTypes, Type[] genericArgumentTypes, Type returnValueType, object invocationTarget, object proxy, object[] arguments)
 {
     if (interceptors != null && interceptors.Length > 0)
     {
         _interceptors = new Queue <IInterceptor>(interceptors.Where(w => w != null));
     }
     MemberType           = memberType;
     MemberName           = memberName;
     MemberOperateType    = memberOperateType;
     ArgumentTypes        = argumentTypes == null ? Type.EmptyTypes : argumentTypes;
     GenericArgumentTypes = genericArgumentTypes == null ? Type.EmptyTypes : genericArgumentTypes;
     ReturnValueType      = returnValueType;
     InvocationTarget     = invocationTarget;
     Proxy     = proxy;
     Arguments = arguments;
 }