public object TestGetValue(object value) { string key = "key"; if (value is double) { m_table.PutNumber(key, (double)value); } else if (value is string) { m_table.PutString(key, (string)value); } else if (value is bool) { m_table.PutBoolean(key, (bool)value); } else if (value is byte[]) { m_table.PutValue(key, (byte[])value); } else if (value is double[]) { m_table.PutNumberArray(key, (double[])value); } else if (value is bool[]) { m_table.PutBooleanArray(key, (bool[])value); } else if (value is string[]) { m_table.PutStringArray(key, (string[])value); } else { throw new ArgumentException("Value is either null or an invalid type."); } return(m_table.GetValue(key)); }