System.Runtime.Serialization.Formatters.Soap.ValueFixup.Fixup C# (CSharp) Метод

Fixup() приватный Метод

private Fixup ( ParseRecord record, ParseRecord parent ) : void
record ParseRecord
parent ParseRecord
Результат void
		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;
			}
		}