UnityEngine.AndroidJNISafe.GetObjectField C# (CSharp) Method

GetObjectField() public static method

public static GetObjectField ( IntPtr obj, IntPtr fieldID ) : IntPtr
obj System.IntPtr
fieldID System.IntPtr
return System.IntPtr
        public static IntPtr GetObjectField(IntPtr obj, IntPtr fieldID)
        {
            IntPtr objectField;
            try
            {
                objectField = AndroidJNI.GetObjectField(obj, fieldID);
            }
            finally
            {
                CheckException();
            }
            return objectField;
        }

Usage Example

コード例 #1
0
        protected FieldType _Get <FieldType>(string fieldName)
        {
            IntPtr fieldID = AndroidJNIHelper.GetFieldID <FieldType>(this.m_jclass, fieldName, false);

            if (AndroidReflection.IsPrimitive(typeof(FieldType)))
            {
                if (typeof(FieldType) == typeof(int))
                {
                    return((FieldType)AndroidJNISafe.GetIntField(this.m_jobject, fieldID));
                }
                if (typeof(FieldType) == typeof(bool))
                {
                    return((FieldType)AndroidJNISafe.GetBooleanField(this.m_jobject, fieldID));
                }
                if (typeof(FieldType) == typeof(byte))
                {
                    return((FieldType)AndroidJNISafe.GetByteField(this.m_jobject, fieldID));
                }
                if (typeof(FieldType) == typeof(short))
                {
                    return((FieldType)AndroidJNISafe.GetShortField(this.m_jobject, fieldID));
                }
                if (typeof(FieldType) == typeof(long))
                {
                    return((FieldType)AndroidJNISafe.GetLongField(this.m_jobject, fieldID));
                }
                if (typeof(FieldType) == typeof(float))
                {
                    return((FieldType)AndroidJNISafe.GetFloatField(this.m_jobject, fieldID));
                }
                if (typeof(FieldType) == typeof(double))
                {
                    return((FieldType)AndroidJNISafe.GetDoubleField(this.m_jobject, fieldID));
                }
                if (typeof(FieldType) == typeof(char))
                {
                    return((FieldType)AndroidJNISafe.GetCharField(this.m_jobject, fieldID));
                }
                return(default(FieldType));
            }
            if (typeof(FieldType) == typeof(string))
            {
                return((FieldType)AndroidJNISafe.GetStringField(this.m_jobject, fieldID));
            }
            if (typeof(FieldType) == typeof(AndroidJavaClass))
            {
                return((FieldType)AndroidJavaClassDeleteLocalRef(AndroidJNISafe.GetObjectField(this.m_jobject, fieldID)));
            }
            if (typeof(FieldType) == typeof(AndroidJavaObject))
            {
                return((FieldType)AndroidJavaObjectDeleteLocalRef(AndroidJNISafe.GetObjectField(this.m_jobject, fieldID)));
            }
            if (!AndroidReflection.IsAssignableFrom(typeof(Array), typeof(FieldType)))
            {
                throw new Exception("JNI: Unknown field type '" + typeof(FieldType) + "'");
            }
            return(AndroidJNIHelper.ConvertFromJNIArray <FieldType>(AndroidJNISafe.GetObjectField(this.m_jobject, fieldID)));
        }
All Usage Examples Of UnityEngine.AndroidJNISafe::GetObjectField
AndroidJNISafe