public short GetInt16Safe(int columnIndex) { if (ReaderCache[columnIndex] is Int16ReaderCacheContainer) { return GetInt16Unsafe(columnIndex); } else { return Convert.ToInt16(GetValue(columnIndex)); } }