/// <summary> /// 泛型方法调用 /// </summary> /// <param name="method">泛型方法信息</param> /// <param name="types">泛型参数类型集合</param> /// <param name="parameters">调用参数</param> /// <returns>返回值</returns> public static object InvokeGenericMethod(MethodInfo method, TmphRemoteType[] types, params object[] parameters) { if (method == null) TmphLog.Error.Throw(TmphLog.TmphExceptionType.Null); Debug.Assert(method != null, "method != null"); return method.MakeGenericMethod(types.getArray(value => value.Type)).Invoke(null, parameters); }
/// <summary> /// 泛型类型函数调用 /// </summary> /// <param name="remoteType">调用代理类型</param> /// <param name="methodName">调用函数名称</param> /// <param name="methodGenericTypes">方法泛型参数集合</param> /// <param name="parameters">调用参数</param> /// <returns>函数返回值</returns> public static object InvokeGenericTypeMethod(TmphRemoteType remoteType, string methodName, TmphRemoteType[] methodGenericTypes, params object[] parameters) { return GetGenericTypeMethod(remoteType, methodName) .MakeGenericMethod(methodGenericTypes.getArray(value => value.Type)) .Invoke(null, parameters); }