/// <summary> /// Converts the value into a string. /// </summary> public override string ConvertToString(object value, IValueSerializerContext context) { if (value is Point3D) { Point3D instance = (Point3D)value; #pragma warning suppress 6506 // instance is obviously not null return(instance.ConvertToString(null, System.Windows.Markup.TypeConverterHelper.InvariantEnglishUS)); } return(base.ConvertToString(value, context)); }
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if ((destinationType != null) && (value is Point3D)) { Point3D point = (Point3D)value; if (destinationType == typeof(InstanceDescriptor)) { ConstructorInfo ci = typeof(Point3D).GetConstructor(new Type[] { typeof(float), typeof(float), typeof(float) }); return(new InstanceDescriptor(ci, new object[] { point.X, point.Y, point.Z })); } else if (destinationType == typeof(string)) { return(point.ConvertToString(null, culture)); } } return(base.ConvertTo(context, culture, value, destinationType)); }