public void Deserialize(IntermediateFormatReader reader)
        {
            reader.RegisterDeclaration(m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.ReaderExtensionsSupported:
                    m_readerExtensionsSupported = reader.ReadBoolean();
                    break;

                case MemberName.FieldPropertyNames:
                    m_fieldPropertyNames = reader.ReadListOfRIFObjects <RecordSetPropertyNamesList>();
                    break;

                case MemberName.CompareOptions:
                    m_compareOptions = (CompareOptions)reader.ReadEnum();
                    break;

                case MemberName.FieldNames:
                    m_fieldNames = reader.ReadStringArray();
                    break;

                case MemberName.CommandText:
                    m_commandText = reader.ReadString();
                    break;

                case MemberName.RewrittenCommandText:
                    m_rewrittenCommandText = reader.ReadString();
                    break;

                case MemberName.CultureName:
                    m_cultureName = reader.ReadString();
                    break;

                case MemberName.ExecutionTime:
                    m_executionTime = reader.ReadDateTime();
                    break;

                default:
                    Global.Tracer.Assert(condition: false);
                    break;
                }
            }
        }
        internal void PopulateExtendedFieldsProperties(DataSetInstance dataSetInstance)
        {
            if (dataSetInstance.FieldInfos == null)
            {
                return;
            }
            int num = dataSetInstance.FieldInfos.Length;

            m_fieldPropertyNames = new RecordSetPropertyNamesList(num);
            for (int i = 0; i < num; i++)
            {
                FieldInfo fieldInfo = dataSetInstance.FieldInfos[i];
                RecordSetPropertyNames recordSetPropertyNames = null;
                if (fieldInfo != null && fieldInfo.PropertyCount != 0)
                {
                    recordSetPropertyNames = new RecordSetPropertyNames();
                    recordSetPropertyNames.PropertyNames = new List <string>(fieldInfo.PropertyCount);
                    recordSetPropertyNames.PropertyNames.AddRange(fieldInfo.PropertyNames);
                }
                m_fieldPropertyNames.Add(recordSetPropertyNames);
            }
        }