// Token: 0x060005D9 RID: 1497 RVA: 0x0001CB20 File Offset: 0x0001AD20 public static object GetPropertyOrField <T>(T obj, string name) { global::System.Reflection.PropertyInfo property = typeof(T).GetProperty(name, 52); global::System.Reflection.FieldInfo field = typeof(T).GetField(name, 52); bool flag = property != null; object result; if (flag) { result = property.GetValue(obj, null); } else { bool flag2 = field != null; if (flag2) { result = field.GetValue(obj); } else { global::VRGIN.Core.VRLog.Warn("Prop/Field not found!", global::System.Array.Empty <object>()); result = null; } } return(result); }
public static object slowGetField(object obj, string field, bool throwErrors) { if ((obj == null)) { if (throwErrors) { throw new global::System.NullReferenceException(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat("Cannot access field \'", field), "\' of null.")); } else { return(null); } } global::System.Type t = ((global::System.Type)((obj as global::System.Type))); global::System.Reflection.BindingFlags bf = default(global::System.Reflection.BindingFlags); if ((t == null)) { string s = ((string)((obj as string))); if (!(string.Equals(s, null))) { return(global::haxe.lang.StringRefl.handleGetField(s, field, throwErrors)); } t = ((global::System.Type)(obj.GetType())); bf = ((global::System.Reflection.BindingFlags)((((global::System.Reflection.BindingFlags)((((global::System.Reflection.BindingFlags)(global::System.Reflection.BindingFlags.Instance)) | ((global::System.Reflection.BindingFlags)(global::System.Reflection.BindingFlags.Public))))) | ((global::System.Reflection.BindingFlags)(global::System.Reflection.BindingFlags.FlattenHierarchy))))); } else { if (((t == ((global::System.Type)(typeof(string)))) && string.Equals(field, "fromCharCode"))) { return(new global::haxe.lang.Closure(typeof(global::haxe.lang.StringExt), field, 0)); } obj = null; bf = ((global::System.Reflection.BindingFlags)((((global::System.Reflection.BindingFlags)(global::System.Reflection.BindingFlags.Static)) | ((global::System.Reflection.BindingFlags)(global::System.Reflection.BindingFlags.Public))))); } global::System.Reflection.FieldInfo f = t.GetField(((string)(field)), ((global::System.Reflection.BindingFlags)(bf))); if ((f != null)) { return(global::haxe.lang.Runtime.unbox(f.GetValue(((object)(obj))))); } else { global::System.Reflection.PropertyInfo prop = t.GetProperty(((string)(field)), ((global::System.Reflection.BindingFlags)(bf))); if ((prop == null)) { global::System.Reflection.MemberInfo[] m = t.GetMember(((string)(field)), ((global::System.Reflection.BindingFlags)(bf))); if ((((m as global::System.Array).Length == 0) && ((string.Equals(field, "__get") || string.Equals(field, "__set"))))) { m = t.GetMember(((string)(((string.Equals(field, "__get")) ? ("get_Item") : ("set_Item")))), ((global::System.Reflection.BindingFlags)(bf))); } if (((m as global::System.Array).Length > 0)) { return(new global::haxe.lang.Closure((((obj != null)) ? (obj) : ((object)(t))), field, 0)); } else { if (t.IsCOMObject) { try { return(t.InvokeMember(((string)(field)), ((global::System.Reflection.BindingFlags)(global::System.Reflection.BindingFlags.GetProperty)), default(global::System.Reflection.Binder), ((object)(obj)), ((object[])(new object[0])))); } catch (global::System.Exception e) { global::haxe.lang.Exceptions.exception = e; } } if (throwErrors) { throw global::haxe.lang.HaxeException.wrap(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat("Cannot access field \'", field), "\'.")); } else { return(null); } } } return(global::haxe.lang.Runtime.unbox(prop.GetValue(((object)(obj)), default(object[])))); } }
private static global::net.sf.jni4net.utils.JniHandle GetValue18(global::System.IntPtr @__envp, global::net.sf.jni4net.utils.JniLocalHandle @__obj, global::net.sf.jni4net.utils.JniLocalHandle obj) { // (Lsystem/Object;)Lsystem/Object; // (LSystem/Object;)LSystem/Object; global::net.sf.jni4net.jni.JNIEnv @__env = global::net.sf.jni4net.jni.JNIEnv.Wrap(@__envp); global::net.sf.jni4net.utils.JniHandle @__return = default(global::net.sf.jni4net.utils.JniHandle); try { global::System.Reflection.PropertyInfo @__real = global::net.sf.jni4net.utils.Convertor.StrongJp2C <global::System.Reflection.PropertyInfo>(@__env, @__obj); @__return = global::net.sf.jni4net.utils.Convertor.FullC2J <object>(@__env, @__real.GetValue(global::net.sf.jni4net.utils.Convertor.FullJ2C <object>(@__env, obj))); }catch (global::System.Exception __ex) { @__env.ThrowExisting(__ex); } return(@__return); }