public virtual AndroidJavaObject Invoke(string methodName, object[] args) { Exception ex = null; BindingFlags bindingAttr = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic; Type[] array = new Type[args.Length]; for (int i = 0; i < args.Length; i++) { array[i] = ((args[i] == null) ? typeof(AndroidJavaObject) : args[i].GetType()); } AndroidJavaObject result; try { MethodInfo method = base.GetType().GetMethod(methodName, bindingAttr, null, array, null); bool flag = method != null; if (flag) { result = _AndroidJNIHelper.Box(method.Invoke(this, args)); return(result); } } catch (TargetInvocationException ex2) { ex = ex2.InnerException; } catch (Exception ex3) { ex = ex3; } string[] array2 = new string[args.Length]; for (int j = 0; j < array.Length; j++) { array2[j] = array[j].ToString(); } bool flag2 = ex != null; if (flag2) { string[] expr_D2 = new string[6]; int arg_E6_1 = 0; Type expr_DA = base.GetType(); expr_D2[arg_E6_1] = ((expr_DA != null) ? expr_DA.ToString() : null); expr_D2[1] = "."; expr_D2[2] = methodName; expr_D2[3] = "("; expr_D2[4] = string.Join(",", array2); expr_D2[5] = ")"; throw new TargetInvocationException(string.Concat(expr_D2), ex); } IntPtr arg_17B_0 = this.GetRawProxy(); string[] expr_129 = new string[7]; expr_129[0] = "No such proxy method: "; int arg_145_1 = 1; Type expr_139 = base.GetType(); expr_129[arg_145_1] = ((expr_139 != null) ? expr_139.ToString() : null); expr_129[2] = "."; expr_129[3] = methodName; expr_129[4] = "("; expr_129[5] = string.Join(",", array2); expr_129[6] = ")"; AndroidReflection.SetNativeExceptionOnProxy(arg_17B_0, new Exception(string.Concat(expr_129)), true); result = null; return(result); }