internal object InternalGetValue(object obj)
        {
            RtFieldInfo rtFieldInfo = this.m_field as RtFieldInfo;

            if (!((System.Reflection.FieldInfo)rtFieldInfo != (System.Reflection.FieldInfo)null))
            {
                return(this.m_field.GetValue(obj));
            }
            rtFieldInfo.CheckConsistency(obj);
            return(rtFieldInfo.UnsafeGetValue(obj));
        }
Esempio n. 2
0
        internal object InternalGetValue(object obj)
        {
            RtFieldInfo rtFieldInfo = this.m_field as RtFieldInfo;

            if (rtFieldInfo != null)
            {
                rtFieldInfo.CheckConsistency(obj);
                return(rtFieldInfo.UnsafeGetValue(obj));
            }
            return(this.m_field.GetValue(obj));
        }
Esempio n. 3
0
        internal void InternalSetValue(object obj, object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture)
        {
            RtFieldInfo rtFieldInfo = this.m_field as RtFieldInfo;

            if (rtFieldInfo != null)
            {
                rtFieldInfo.CheckConsistency(obj);
                rtFieldInfo.UnsafeSetValue(obj, value, invokeAttr, binder, culture);
                return;
            }
            this.m_field.SetValue(obj, value, invokeAttr, binder, culture);
        }
Esempio n. 4
0
        [System.Security.SecurityCritical]  // auto-generated_required
        public static Object[] GetObjectData(Object obj, MemberInfo[] members)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }

            if (members == null)
            {
                throw new ArgumentNullException("members");
            }
            Contract.EndContractBlock();

            int numberOfMembers = members.Length;

            Object[]   data = new Object[numberOfMembers];
            MemberInfo mi;

            for (int i = 0; i < numberOfMembers; i++)
            {
                mi = members[i];

                if (mi == null)
                {
                    throw new ArgumentNullException("members", Environment.GetResourceString("ArgumentNull_NullMember", i));
                }

                if (mi.MemberType == MemberTypes.Field)
                {
                    Contract.Assert(mi is RuntimeFieldInfo || mi is SerializationFieldInfo,
                                    "[FormatterServices.GetObjectData]mi is RuntimeFieldInfo || mi is SerializationFieldInfo.");

                    RtFieldInfo rfi = mi as RtFieldInfo;
                    if (rfi != null)
                    {
                        rfi.CheckConsistency(obj);
                        data[i] = rfi.UnsafeGetValue(obj);
                    }
                    else
                    {
                        data[i] = ((SerializationFieldInfo)mi).InternalGetValue(obj);
                    }
                }
                else
                {
                    throw new SerializationException(Environment.GetResourceString("Serialization_UnknownMemberInfo"));
                }
            }

            return(data);
        }
        internal void InternalSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture)
        {
            RtFieldInfo field = m_field as RtFieldInfo;

            if (field != null)
            {
                field.CheckConsistency(obj);
                field.UnsafeSetValue(obj, value, invokeAttr, binder, culture);
            }
            else
            {
                m_field.SetValue(obj, value, invokeAttr, binder, culture);
            }
        }
        internal Object InternalGetValue(Object obj)
        {
            RtFieldInfo field = m_field as RtFieldInfo;

            if (field != null)
            {
                field.CheckConsistency(obj);
                return(field.UnsafeGetValue(obj));
            }
            else
            {
                return(m_field.GetValue(obj));
            }
        }
        internal void InternalSetValue(object obj, object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture)
        {
            RtFieldInfo rtFieldInfo = this.m_field as RtFieldInfo;

            if ((System.Reflection.FieldInfo)rtFieldInfo != (System.Reflection.FieldInfo)null)
            {
                rtFieldInfo.CheckConsistency(obj);
                rtFieldInfo.UnsafeSetValue(obj, value, invokeAttr, binder, culture);
            }
            else
            {
                this.m_field.SetValue(obj, value, invokeAttr, binder, culture);
            }
        }
Esempio n. 8
0
        internal static void SerializationSetValue(MemberInfo fi, object target, object value)
        {
            RtFieldInfo rtFieldInfo = fi as RtFieldInfo;

            if (rtFieldInfo != null)
            {
                rtFieldInfo.CheckConsistency(target);
                rtFieldInfo.UnsafeSetValue(target, value, BindingFlags.Default, FormatterServices.s_binder, null);
                return;
            }
            SerializationFieldInfo serializationFieldInfo = fi as SerializationFieldInfo;

            if (serializationFieldInfo != null)
            {
                serializationFieldInfo.InternalSetValue(target, value, BindingFlags.Default, FormatterServices.s_binder, null);
                return;
            }
            throw new ArgumentException(Environment.GetResourceString("Argument_InvalidFieldInfo"));
        }
Esempio n. 9
0
        public static object[] GetObjectData(object obj, MemberInfo[] members)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }
            if (members == null)
            {
                throw new ArgumentNullException("members");
            }
            int num = members.Length;

            object[] array = new object[num];
            for (int i = 0; i < num; i++)
            {
                MemberInfo memberInfo = members[i];
                if (memberInfo == null)
                {
                    throw new ArgumentNullException("members", Environment.GetResourceString("ArgumentNull_NullMember", new object[]
                    {
                        i
                    }));
                }
                if (memberInfo.MemberType != MemberTypes.Field)
                {
                    throw new SerializationException(Environment.GetResourceString("Serialization_UnknownMemberInfo"));
                }
                RtFieldInfo rtFieldInfo = memberInfo as RtFieldInfo;
                if (rtFieldInfo != null)
                {
                    rtFieldInfo.CheckConsistency(obj);
                    array[i] = rtFieldInfo.UnsafeGetValue(obj);
                }
                else
                {
                    array[i] = ((SerializationFieldInfo)memberInfo).InternalGetValue(obj);
                }
            }
            return(array);
        }
Esempio n. 10
0
        internal static void SerializationSetValue(MemberInfo fi, Object target, Object value)
        {
            Contract.Requires(fi != null);

            RtFieldInfo rtField = fi as RtFieldInfo;

            if (rtField != null)
            {
                rtField.CheckConsistency(target);
                rtField.UnsafeSetValue(target, value, BindingFlags.Default, s_binder, null);
                return;
            }

            SerializationFieldInfo serField = fi as SerializationFieldInfo;

            if (serField != null)
            {
                serField.InternalSetValue(target, value, BindingFlags.Default, s_binder, null);
                return;
            }

            throw new ArgumentException(Environment.GetResourceString("Argument_InvalidFieldInfo"));
        }