public override bool TryGetMember(GetMemberBinder binder, out object result) { if (binder.Name == "class") { result = new JavaObject(_vm, _reflectedClass, new JavaClass(_vm, "java/lang/Class")); return(true); } Tuple <IntPtr, JavaClass> field = GetField(binder.Name); if (field != null) { IntPtr value = _vm.GetStaticObjectField(_jniClass, field.Item1); result = value == IntPtr.Zero ? null : new JavaObject(_vm, value, field.Item2); return(true); } return(base.TryGetMember(binder, out result)); }