/// <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));
        }
Exemple #2
0
        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));
        }