public string GetStringSafe(int columnIndex) { if (ReaderCache[columnIndex] is StringReaderCacheContainer) { return GetStringUnsafe(columnIndex); } else { return Convert.ToString(GetValue(columnIndex)); } }