DBCViewer.MainForm.ReadStringField C# (CSharp) 메소드

ReadStringField() 개인적인 메소드

private ReadStringField ( int colIndex, DBCViewer.ColumnMeta meta, DataRow dataRow, BinaryReader br ) : void
colIndex int
meta DBCViewer.ColumnMeta
dataRow System.Data.DataRow
br System.IO.BinaryReader
리턴 void
        private void ReadStringField(int colIndex, ColumnMeta meta, DataRow dataRow, BinaryReader br)
        {
            if (m_dbreader is WDBReader)
                dataRow.SetField(colIndex, br.ReadStringNull());
            else if (m_dbreader is STLReader)
            {
                int offset = br.ReadInt32();
                dataRow.SetField(colIndex, (m_dbreader as STLReader).ReadString(offset));
            }
            else
            {
                try
                {
                    dataRow.SetField(colIndex, m_dbreader.IsSparseTable ? br.ReadStringNull() : m_dbreader.StringTable[br.ReadInt32(meta)]);
                }
                catch
                {
                    dataRow.SetField(colIndex, "Invalid string index!");
                }
            }
        }