public override Object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, Object value, Type destinationType)
 {
     if (typeof(string).Equals(destinationType))
     {
         if (value == null)
         {
             return(string.Empty);
         }
         Filepath f = value as Filepath;
         if (f != null)
         {
             return(f.Strings);
         }
         if (context != null)
         {
             TypeConverter converter = TypeDescriptor.GetConverter(context.PropertyDescriptor.PropertyType);
             if (converter.CanConvertTo(destinationType))
             {
                 return((string)converter.ConvertTo(context, CultureInfo.InvariantCulture, value, typeof(string)));
             }
         }
         return(value.ToString());
     }
     return(base.ConvertTo(context, culture, value, destinationType));
 }
        public object Clone()
        {
            Filepath f = new Filepath();

            if (_paths != null)
            {
                f._paths = new string[_paths.Length];
                for (int i = 0; i < _paths.Length; i++)
                {
                    f._paths[i] = _paths[i];
                }
            }
            return(f);
        }