public static bool Prefix(Type t, int controlID, out Object __result) { if (!s_StateCache.TryGetValue(controlID, out __result) || __result.GetIl2CppType() != t) { s_StateCache[controlID] = __result = t.GetConstructor(new Il2CppReferenceArray <Type>(0)).Invoke(null, new Il2CppReferenceArray <Object>(0)); } return(false); }
public static Il2CppSystem.Object DynamicCast(this Il2CppSystem.Object obj, Il2CppSystem.Type type) { var mi = obj.GetIl2CppType().GetMethod("Cast"); var genericArg = new Il2CppReferenceArray <Il2CppSystem.Type>(1); genericArg[0] = type; var fooRef = mi.MakeGenericMethod(genericArg); return(fooRef.Invoke(obj, null)); }