using System; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OptionStudy.Next { public class PointTypeConverter: TypeConverter { public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType) { return sourceType == typeof(string); } public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value) { var split = (value.ToString()??"0.0,0.0").Split(','); double x = double.Parse(split[0].Trim().TrimStart('(')); double y = double.Parse(split[1].Trim().TrimEnd(')')); return new Point(x, y); } } }