public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
Uri uri = value as Uri;
if (uri != null && destinationType == typeof(InstanceDescriptor))
{
ConstructorInfo ci = typeof(Uri).GetConstructor(BindingFlags.Public | BindingFlags.Instance, null, new Type[]{typeof(string), typeof(UriKind)}, null);
return new InstanceDescriptor(ci, new object[] { uri.OriginalString,
m_UriKind == UriKind.RelativeOrAbsolute ? uri.IsAbsoluteUri ? UriKind.Absolute : UriKind.Relative : m_UriKind });
}
if (uri != null && destinationType == typeof(string))
return uri.OriginalString;
if (uri != null && destinationType == typeof(Uri))
return new Uri(uri.OriginalString,
m_UriKind == UriKind.RelativeOrAbsolute ? uri.IsAbsoluteUri ? UriKind.Absolute : UriKind.Relative : m_UriKind);
return base.ConvertTo(context, culture, value, destinationType);
}
//