public float GetFloatSafe(int columnIndex) { if (ReaderCache[columnIndex] is FloatReaderCacheContainer) { return GetFloatUnsafe(columnIndex); } else { return Convert.ToSingle(GetValue(columnIndex)); } }