public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(m_declaration); IScalabilityCache scalabilityCache = reader.PersistenceHelper as IScalabilityCache; while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.ReportObjectModel: { int id2 = reader.ReadInt32(); m_reportOM = (ObjectModelImpl)scalabilityCache.FetchStaticReference(id2); break; } case MemberName.Value: m_value = reader.ReadVariant(); break; case MemberName.IsAggregateField: m_isAggregationField = reader.ReadBoolean(); break; case MemberName.AggregationFieldChecked: m_aggregationFieldChecked = reader.ReadBoolean(); break; case MemberName.FieldStatus: m_fieldStatus = (DataFieldStatus)reader.ReadEnum(); break; case MemberName.Message: m_exceptionMessage = reader.ReadString(); break; case MemberName.Properties: m_properties = reader.ReadStringObjectHashtable <Hashtable>(); break; case MemberName.FieldDef: { int id = reader.ReadInt32(); m_fieldDef = (Microsoft.ReportingServices.ReportIntermediateFormat.Field)scalabilityCache.FetchStaticReference(id); break; } case MemberName.UsedInExpression: m_usedInExpression = reader.ReadBoolean(); break; default: Global.Tracer.Assert(condition: false); break; } } }