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));
        }
Example #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));
        }
        [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 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));
            }
        }
Example #5
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);
        }