/// <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);
 }