public override object ConvertTo(
            ITypeDescriptorContext typeDescriptorContext,
            CultureInfo cultureInfo,
            object value,
            Type destinationType)
        {
            if (destinationType == null)
            {
                throw new ArgumentNullException("destinationType");
            }

            if (value != null &&
                value is FigureLength)
            {
                FigureLength fl = (FigureLength)value;

                if (destinationType == typeof(string))
                {
                    return(ToString(fl, cultureInfo));
                }

                if (destinationType == typeof(InstanceDescriptor))
                {
                    ConstructorInfo ci = typeof(FigureLength).GetConstructor(new Type[] { typeof(double), typeof(FigureUnitType) });
                    return(new InstanceDescriptor(ci, new object[] { fl.Value, fl.FigureUnitType }));
                }
            }
            throw GetConvertToException(value, destinationType);
        }
        // Token: 0x06000410 RID: 1040 RVA: 0x0000B9D8 File Offset: 0x00009BD8
        internal static string ToString(FigureLength fl, CultureInfo cultureInfo)
        {
            FigureUnitType figureUnitType = fl.FigureUnitType;

            if (figureUnitType == FigureUnitType.Auto)
            {
                return("Auto");
            }
            if (figureUnitType != FigureUnitType.Pixel)
            {
                return(Convert.ToString(fl.Value, cultureInfo) + " " + fl.FigureUnitType.ToString());
            }
            return(Convert.ToString(fl.Value, cultureInfo));
        }
        //-------------------------------------------------------------------
        //
        //  Internal Methods
        //
        //-------------------------------------------------------------------

        #region Internal Methods

        /// <summary>
        /// Converts a FigureLength instance to a String given the CultureInfo.
        /// </summary>
        /// <param name="fl">FigureLength instance to convert.</param>
        /// <param name="cultureInfo">Culture Info.</param>
        /// <returns>String representation of the object.</returns>
        static internal string ToString(FigureLength fl, CultureInfo cultureInfo)
        {
            switch (fl.FigureUnitType)
            {
            //  for Auto print out "Auto". value is always "1.0"
            case FigureUnitType.Auto:
                return("Auto");

            case FigureUnitType.Pixel:
                return(Convert.ToString(fl.Value, cultureInfo));

            default:
                return(Convert.ToString(fl.Value, cultureInfo) + " " + fl.FigureUnitType.ToString());
            }
        }