public void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.Name: m_name = reader.ReadString(); break; case MemberName.ID: m_ID = reader.ReadInt32(); break; case MemberName.GroupExpressions: m_groupExpressions = reader.ReadGenericListOfRIFObjects <ExpressionInfo>(); break; case MemberName.GroupLabel: m_groupLabel = (ExpressionInfo)reader.ReadRIFObject(); break; case MemberName.SortDirections: m_sortDirections = reader.ReadListOfPrimitives <bool>(); break; case MemberName.PageBreakLocation: m_pageBreak = new PageBreak(); m_pageBreak.BreakLocation = (PageBreakLocation)reader.ReadEnum(); break; case MemberName.Aggregates: m_aggregates = reader.ReadGenericListOfRIFObjects <DataAggregateInfo>(); break; case MemberName.GroupAndSort: m_groupAndSort = reader.ReadBoolean(); break; case MemberName.Filters: m_filters = reader.ReadGenericListOfRIFObjects <Filter>(); break; case MemberName.ReportItemsWithHideDuplicates: m_reportItemsWithHideDuplicates = reader.ReadGenericListOfReferences <ReportItem>(this); break; case MemberName.Parent: m_parent = reader.ReadGenericListOfRIFObjects <ExpressionInfo>(); break; case MemberName.RecursiveAggregates: m_recursiveAggregates = reader.ReadGenericListOfRIFObjects <DataAggregateInfo>(); break; case MemberName.PostSortAggregates: m_postSortAggregates = reader.ReadGenericListOfRIFObjects <DataAggregateInfo>(); break; case MemberName.DataElementName: m_dataElementName = reader.ReadString(); break; case MemberName.DataElementOutput: m_dataElementOutput = (DataElementOutputTypes)reader.ReadEnum(); break; case MemberName.SaveGroupExprValues: m_saveGroupExprValues = reader.ReadBoolean(); break; case MemberName.UserSortExpressions: m_userSortExpressions = reader.ReadGenericListOfRIFObjects <ExpressionInfo>(); break; case MemberName.NonDetailSortFiltersInScope: m_nonDetailSortFiltersInScope = reader.ReadInt32PrimitiveListHashtable <InScopeSortFilterHashtable, int>(); break; case MemberName.DetailSortFiltersInScope: m_detailSortFiltersInScope = reader.ReadInt32PrimitiveListHashtable <InScopeSortFilterHashtable, int>(); break; case MemberName.Variables: m_variables = reader.ReadGenericListOfRIFObjects <Variable>(); break; case MemberName.PageBreak: m_pageBreak = (PageBreak)reader.ReadRIFObject(); break; case MemberName.PageName: m_pageName = (ExpressionInfo)reader.ReadRIFObject(); break; case MemberName.DomainScope: m_domainScope = reader.ReadString(); break; case MemberName.ScopeIDForDomainScope: m_scopeIDForDomainScope = reader.ReadInt32(); break; case MemberName.NaturalGroup: m_naturalGroup = reader.ReadBoolean(); break; default: Global.Tracer.Assert(condition: false); break; } } }