Use available TypeConverters to serialize and deserialize types

This commit is contained in:
Pavlos Touboulidis
2014-07-12 04:46:45 +03:00
parent 451426bc3f
commit dcb7a44aa2
2 changed files with 31 additions and 0 deletions

View File

@@ -10,6 +10,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Globalization;
using System.Linq;
@@ -88,6 +89,19 @@ namespace OpenRA
if (t == typeof(DateTime))
return ((DateTime)v).ToString("yyyy-MM-dd HH-mm-ss", CultureInfo.InvariantCulture);
// Try the TypeConverter
var conv = TypeDescriptor.GetConverter(t);
if (conv.CanConvertTo(typeof(string)))
{
try
{
return conv.ConvertToInvariantString(v);
}
catch
{
}
}
return v.ToString();
}