/// <summary>
/// ConvertTo - Attempt to convert an instance of Point to the given type
/// </summary>
/// <returns>
/// The object which was constructoed.
/// </returns>
/// <exception cref="NotSupportedException">
/// A NotSupportedException is thrown if "value" is null or not an instance of Point,
/// or if the destinationType isn't one of the valid destination types.
/// </exception>
/// <param name="context"> The ITypeDescriptorContext for this call. </param>
/// <param name="culture"> The CultureInfo which is respected when converting. </param>
/// <param name="value"> The object to convert to an instance of "destinationType". </param>
/// <param name="destinationType"> The type to which this will convert the Point instance. </param>
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (destinationType != null && value is Point)
{
Point instance = (Point)value;
if (destinationType == typeof(string))
{
// Delegate to the formatting/culture-aware ConvertToString method.
#pragma warning suppress 6506 // instance is obviously not null
return(instance.ConvertToString(null, culture));
}
}
// Pass unhandled cases to base class (which will throw exceptions for null value or destinationType.)
return(base.ConvertTo(context, culture, value, destinationType));
}