示例#1
0
        public override void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.SubReport:
                    m_subReportDef = reader.ReadGlobalReference <SubReport>();
                    break;

                case MemberName.Parameters:
                {
                    ParametersImplWrapper parametersImplWrapper = (ParametersImplWrapper)reader.ReadRIFObject();
                    if (parametersImplWrapper != null)
                    {
                        m_parameters = parametersImplWrapper.WrappedParametersImpl;
                    }
                    break;
                }

                case MemberName.ReportInstance:
                    m_reportInstance = (IReference <ReportInstance>)reader.ReadRIFObject();
                    break;

                case MemberName.DataSetUniqueName:
                    m_instanceUniqueName = reader.ReadString();
                    break;

                case MemberName.ThreadCulture:
                    m_threadCulture = reader.ReadCultureInfo();
                    break;

                case MemberName.Status:
                    m_status = (SubReport.Status)reader.ReadEnum();
                    break;

                case MemberName.ProcessedWithError:
                    m_processedWithError = reader.ReadBoolean();
                    break;

                case MemberName.IsInstanceShared:
                {
                    object obj2 = reader.ReadVariant();
                    if (obj2 != null)
                    {
                        m_isInstanceShared = (bool)obj2;
                    }
                    break;
                }

                case MemberName.DataChunkNameModifier:
                {
                    object obj = reader.ReadVariant();
                    if (obj != null)
                    {
                        m_dataChunkNameModifier = (int)obj;
                    }
                    break;
                }

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }