public static K CallStatic <K>(string name, params object[] args)
        {
            Type type   = typeof(K);
            bool isBase = typeof(IHmsBase).IsAssignableFrom(type);

            if (isBase)
            {
                AndroidJavaObject robj = clz.CallStatic <AndroidJavaObject>(name, HmsUtil.TransferParams(args));
                IHmsBase          ret  = (IHmsBase)Activator.CreateInstance(type);
                ret.obj = robj;
                return((K)ret);
            }
            return(clz.CallStatic <K>(name, HmsUtil.TransferParams(args)));
        }
        public K Call <K>(string name, params object[] args)
        {
            Type type   = typeof(K);
            bool isBase = typeof(IHmsBase).IsAssignableFrom(type);

            if (isBase)
            {
                AndroidJavaObject robj = obj.Call <AndroidJavaObject>(name, HmsUtil.TransferParams(args));
                if (robj == null)
                {
                    return(default(K));
                }
                IHmsBase ret = (IHmsBase)Activator.CreateInstance(type);
                ret.obj = robj;
                return((K)ret);
            }
            return(obj.Call <K>(name, HmsUtil.TransferParams(args)));
        }
 public static void CallStatic(string name, params object[] args)
 {
     clz.CallStatic(name, HmsUtil.TransferParams(args));
 }
 public void Call(string name, params object[] args)
 {
     obj.Call(name, HmsUtil.TransferParams(args));
 }