public double GetDoubleSafe(int columnIndex) { if (ReaderCache[columnIndex] is DoubleReaderCacheContainer) { return GetDoubleUnsafe(columnIndex); } else { return Convert.ToDouble(GetValue(columnIndex)); } }