/// <summary> /// Converts the given value object to the specified type, using the specified /// context and culture information. /// </summary> /// <param name="context"> /// An <see cref="ITypeDescriptorContext"/> that provides a format context. /// </param> /// <param name="culture"> /// A <see cref="CultureInfo"/>. If <b>null</b> is passed, the current culture /// is assumed. /// </param> /// <param name="value">The <see cref="Object"/> to convert.</param> /// <param name="destinationType">The <see cref="Type"/> to convert the value parameter to.</param> /// <returns>An <see cref="Object"/> that represents the converted value.</returns> public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (value != null && destinationType == typeof(string)) { return(ArrayConvert.ToString((Array)value, culture)); } return(base.ConvertTo(context, culture, value, destinationType)); }
/// <summary> /// Converts the given object to the type of this converter, using the specified /// context and culture information. /// </summary> /// <param name="context"> /// An <see cref="ITypeDescriptorContext"/> that provides a format context. /// </param> /// <param name="culture"> /// The <see cref="CultureInfo"/> to use as the current culture. /// </param> /// <param name="value">The <see cref="Object"/> to convert.</param> /// <returns>An <see cref="Object"/> that represents the converted value.</returns> public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { var valueString = value as string; if (valueString != null) { return(ArrayConvert.ToArray( valueString, 1, context.PropertyDescriptor.PropertyType.GetElementType(), culture)); } return(base.ConvertFrom(context, culture, value)); }