Color- this is strange; regular xml serialization usually doesn't work - so you often need to add your own code, perhaps via TypeConverter:
static void Main()
{
Test(Color.Red);
Test(Color.FromArgb(34,125,75));
}
static void Test(Color color)
{
TypeConverter converter = TypeDescriptor.GetConverter(typeof(Color));
string s = converter.ConvertToInvariantString(color);
Console.WriteLine("String: " + s);
Color c = (Color) converter.ConvertFromInvariantString(s);
Console.WriteLine("Color: " + c);
Console.WriteLine("Are equal: " + (c == color));
}
Outputs:
String: Red
Color: Color [Red]
Are equal: True
String: 34, 125, 75
Color: Color [A=255, R=34, G=125, B=75]
Are equal: True
source
share