Ejemplo n.º 1
0
        internal object InternalGetValue(object obj, bool requiresAccessCheck)
        {
            RtFieldInfo field = this.m_field as RtFieldInfo;

            if (field != null)
            {
                return(field.InternalGetValue(obj, requiresAccessCheck));
            }
            return(this.m_field.GetValue(obj));
        }
        internal Object InternalGetValue(Object obj, bool requiresAccessCheck)
        {
            RtFieldInfo field = m_field as RtFieldInfo;

            if (field != null)
            {
                return(field.InternalGetValue(obj, requiresAccessCheck));
            }
            else
            {
                return(m_field.GetValue(obj));
            }
        }
Ejemplo n.º 3
0
        public static Object[] GetObjectData(Object obj, MemberInfo[] members)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }

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

            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", String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentNull_NullMember"), i));
                }

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

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

            return(data);
        }
        public static object[] GetObjectData(object obj, MemberInfo[] members)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }
            if (members == null)
            {
                throw new ArgumentNullException("members");
            }
            int length = members.Length;

            object[] objArray = new object[length];
            for (int i = 0; i < length; i++)
            {
                MemberInfo info = members[i];
                if (info == null)
                {
                    throw new ArgumentNullException("members", Environment.GetResourceString("ArgumentNull_NullMember", new object[] { i }));
                }
                if (info.MemberType != MemberTypes.Field)
                {
                    throw new SerializationException(Environment.GetResourceString("Serialization_UnknownMemberInfo"));
                }
                RtFieldInfo info2 = info as RtFieldInfo;
                if (info2 != null)
                {
                    objArray[i] = info2.InternalGetValue(obj, false);
                }
                else
                {
                    objArray[i] = ((SerializationFieldInfo)info).InternalGetValue(obj, false);
                }
            }
            return(objArray);
        }