GetMemberInfo() private method

private GetMemberInfo ( String name ) : MemberInfo
name String
return System.Reflection.MemberInfo
Beispiel #1
0
        internal virtual void Fixup(ParseRecord record, ParseRecord parent)
        {
            Object obj = record.PRnewObj;

            InternalST.Soap(this, "Fixup ", obj, " ", ((Enum)valueFixupEnum).ToString());

            switch (valueFixupEnum)
            {
            case ValueFixupEnum.Array:
                arrayObj.SetValue(obj, indexMap);
                break;

            case ValueFixupEnum.Member:

                InternalST.Soap(this, "Fixup Member new object value ", obj, " memberObject ", memberObject);

                if (objectInfo.isSi)
                {
                    InternalST.Soap(this, "Recording a fixup on member: ", memberName,
                                    " in object id", parent.PRobjectId, " Required Object ", record.PRobjectId);
                    objectInfo.objectManager.RecordDelayedFixup(parent.PRobjectId, memberName, record.PRobjectId);
                }
                else
                {
                    MemberInfo memberInfo = objectInfo.GetMemberInfo(memberName);
                    InternalST.Soap(this, "Recording a fixup on member:", memberInfo, " in object id ",
                                    parent.PRobjectId, " Required Object", record.PRobjectId);
                    objectInfo.objectManager.RecordFixup(parent.PRobjectId, memberInfo, record.PRobjectId);
                }
                break;
            }
        }
        internal virtual void Fixup(ParseRecord record, ParseRecord parent)
        {
            Object obj = record.PRnewObj;

            InternalST.Soap(this, "Fixup ", obj, " ", ((Enum)valueFixupEnum).ToString());

            switch (valueFixupEnum)
            {
            case ValueFixupEnum.Array:
                arrayObj.SetValue(obj, indexMap);
                break;

            case ValueFixupEnum.Header:
                Type type = typeof(Header);
                if (valueInfo == null)
                {
                    MemberInfo[] valueInfos = type.GetMember("Value");
                    if (valueInfos.Length != 1)
                    {
                        throw new SerializationException(String.Format(SoapUtil.GetResourceString("Serialization_HeaderReflection"), valueInfos.Length));
                    }
                    valueInfo = valueInfos[0];
                }
                InternalST.SerializationSetValue((FieldInfo)valueInfo, header, obj);
                break;

            case ValueFixupEnum.Member:

                InternalST.Soap(this, "Fixup Member new object value ", obj, " memberObject ", memberObject);

                if (objectInfo.isSi)
                {
                    InternalST.Soap(this, "Recording a fixup on member: ", memberName,
                                    " in object id", parent.PRobjectId, " Required Object ", record.PRobjectId);
                    objectInfo.objectManager.RecordDelayedFixup(parent.PRobjectId, memberName, record.PRobjectId);
                }
                else
                {
                    MemberInfo memberInfo = objectInfo.GetMemberInfo(memberName);
                    InternalST.Soap(this, "Recording a fixup on member:", memberInfo, " in object id ",
                                    parent.PRobjectId, " Required Object", record.PRobjectId);
                    objectInfo.objectManager.RecordFixup(parent.PRobjectId, memberInfo, record.PRobjectId);
                }
                break;
            }
        }