string GetString (int i) { object value = GetValue (i); if (!(value is string)) { if (value is DBNull) throw new SqlNullValueException (); throw new InvalidCastException ("Type is " + value.GetType ().ToString ()); } return (string) value; }