// E/AndroidRuntime(27179): Caused by: java.lang.RuntimeException: __CallSite __InvokeMemberBinder //E/AndroidRuntime(27179): at ScriptCoreLibJava.BCLImplementation.System.Runtime.CompilerServices.__CallSite__InvokeMemberBinder___c__DisplayClass8_1.___InvokeMemberBinder_b__0(__CallSite__InvokeMemberBinder___c__DisplayClass8_1.java:50) public static __CallSite <T> __InvokeMemberBinder <T>(__InvokeMemberBinder InvokeMember) { var r = default(Delegate); var argumentInfo = InvokeMember.argumentInfo; var argumentInfoCount = argumentInfo.Count(); //Console.WriteLine("__InvokeMemberBinder: " + new //{ // InvokeMember.Name, // argumentInfoCount //}); var IsReturnVoid = InvokeMember.flags == global::Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags.ResultDiscarded; #region (arg1) if (argumentInfoCount == 2) { if (IsReturnVoid) { r = new Action <__CallSite, object, object>( (site, subject, arg1) => { object result = null; #region xDynamicObject var xDynamicObject = subject as DynamicObject; if (xDynamicObject != null) { if (xDynamicObject.TryInvokeMember( (InvokeMemberBinder)(object)InvokeMember, new[] { arg1 }, out result) ) { return; } } #endregion var TargetType = subject.GetType(); var Candidates = TargetType.GetMethods().Where(m => m.Name == InvokeMember.Name).ToArray(); //Console.WriteLine("__CallSite __InvokeMemberBinder arg1 " + new { subject, TargetType, InvokeMember.Name, arg1, Candidates = Candidates.Length }); if (Candidates.Length == 1) { // X:\jsc.svn\examples\java\hybrid\JVMCLRDynamicInvoke\JVMCLRDynamicInvoke\Program.cs Candidates[0].Invoke( subject, new object[] { arg1 } ); return; } throw new NotImplementedException("__CallSite __InvokeMemberBinder " + new { subject, TargetType, InvokeMember.Name, arg1, Candidates = Candidates.Length }); } ); return(r); } r = new Func <__CallSite, object, object, object>( (site, subject, arg1) => { object result = null; #region DynamicObject var xDynamicObject = subject as DynamicObject; if (xDynamicObject != null) { if (xDynamicObject.TryInvokeMember( (InvokeMemberBinder)(object)InvokeMember, new[] { arg1 }, out result) ) { return(result); } } #endregion Console.WriteLine("__CallSite __InvokeMemberBinder arg1 " + new { subject, arg1 }); throw new NotImplementedException("__CallSite __InvokeMemberBinder"); } ); return(r); } #endregion #region (void) if (IsReturnVoid) { r = new Action <__CallSite, object>( (site, subject) => { object result = null; var x = subject as DynamicObject; if (x != null) { if (x.TryInvokeMember( (InvokeMemberBinder)(object)InvokeMember, new object[0], out result) ) { return; } } // __CallSite __InvokeMemberBinder { subject = DIDIsoDepCertificate.Activities.ApplicationActivity@2057ddf8 } Console.WriteLine("__CallSite __InvokeMemberBinder " + new { subject }); throw new NotImplementedException("__CallSite __InvokeMemberBinder"); } ); return(r); } r = new Func <__CallSite, object, object>( (site, subject) => { object result = null; #region xDynamicObject var xDynamicObject = subject as DynamicObject; if (xDynamicObject != null) { if (xDynamicObject.TryInvokeMember( (InvokeMemberBinder)(object)InvokeMember, new object[0], out result) ) { return(result); } } #endregion Console.WriteLine("__CallSite __InvokeMemberBinder " + new { subject }); throw new NotImplementedException("__CallSite __InvokeMemberBinder"); } ); return(r); #endregion }
// E/AndroidRuntime(27179): Caused by: java.lang.RuntimeException: __CallSite __InvokeMemberBinder //E/AndroidRuntime(27179): at ScriptCoreLibJava.BCLImplementation.System.Runtime.CompilerServices.__CallSite__InvokeMemberBinder___c__DisplayClass8_1.___InvokeMemberBinder_b__0(__CallSite__InvokeMemberBinder___c__DisplayClass8_1.java:50) public static __CallSite <T> __InvokeMemberBinder <T>(__InvokeMemberBinder InvokeMember) { var r = default(Delegate); var argumentInfo = InvokeMember.argumentInfo; var argumentInfoCount = argumentInfo.Count(); //Console.WriteLine("__InvokeMemberBinder: " + new //{ // InvokeMember.Name, // argumentInfoCount //}); var IsReturnVoid = InvokeMember.flags == global::Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags.ResultDiscarded; #region (arg1) if (argumentInfoCount == 2) { #region IsReturnVoid if (IsReturnVoid) { r = new Action <__CallSite, object, object>( (site, subject, arg1) => { object result = null; #region xDynamicObject var xDynamicObject = subject as DynamicObject; if (xDynamicObject != null) { if (xDynamicObject.TryInvokeMember( (InvokeMemberBinder)(object)InvokeMember, new[] { arg1 }, out result) ) { return; } } #endregion var TargetType = subject.GetType(); var Candidates = TargetType.GetMethods().Where(m => m.Name == InvokeMember.Name).ToArray(); //Console.WriteLine("__CallSite __InvokeMemberBinder arg1 " + new { subject, TargetType, InvokeMember.Name, arg1, Candidates = Candidates.Length }); if (Candidates.Length == 1) { // X:\jsc.svn\examples\java\hybrid\JVMCLRDynamicInvoke\JVMCLRDynamicInvoke\Program.cs Candidates[0].Invoke( subject, new object[] { arg1 } ); return; } throw new NotImplementedException("__CallSite __InvokeMemberBinder " + new { subject, TargetType, InvokeMember.Name, arg1, Candidates = Candidates.Length }); } ); return(r); } #endregion r = new Func <__CallSite, object, object, object>( (site, subject, arg1) => { object result = null; #region DynamicObject var xDynamicObject = subject as DynamicObject; if (xDynamicObject != null) { if (xDynamicObject.TryInvokeMember( (InvokeMemberBinder)(object)InvokeMember, new[] { arg1 }, out result) ) { return(result); } } #endregion Console.WriteLine("__CallSite __InvokeMemberBinder arg1 " + new { subject, arg1 }); // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20160103/oculus360photossdk //dynamic xResources = getResources(); //// https://developer.android.com/reference/android/content/res/Resources.html //java.lang.CharSequence text = xResources.getText(id); throw new NotImplementedException("__CallSite __InvokeMemberBinder"); } ); return(r); } #endregion #region (void) if (IsReturnVoid) { r = new Action <__CallSite, object>( (site, subject) => { object result = null; var x = subject as DynamicObject; if (x != null) { if (x.TryInvokeMember( (InvokeMemberBinder)(object)InvokeMember, new object[0], out result) ) { return; } } // __CallSite __InvokeMemberBinder { subject = DIDIsoDepCertificate.Activities.ApplicationActivity@2057ddf8 } Console.WriteLine("__CallSite __InvokeMemberBinder " + new { subject }); throw new NotImplementedException("__CallSite __InvokeMemberBinder"); } ); return(r); } r = new Func <__CallSite, object, object>( (site, subject) => { object result = null; #region xDynamicObject var xDynamicObject = subject as DynamicObject; if (xDynamicObject != null) { if (xDynamicObject.TryInvokeMember( (InvokeMemberBinder)(object)InvokeMember, new object[0], out result) ) { return(result); } } #endregion Console.WriteLine("__CallSite __InvokeMemberBinder " + new { subject }); throw new NotImplementedException("__CallSite __InvokeMemberBinder"); } ); return(r); #endregion }