+2005-11-30 Robert Jordan <robertj@gmx.net>
+
+ * ResXResourceReader.cs, ResXResourceWriter.cs: Made string conversions
+ culture-invariant.
+ * ResXResourceWriter.cs: Fixed AddResource (string, object) to emit
+ the type attribute when the object has a type converter.
+
2005-10-04 Peter Bartok <pbartok@novell.com>
* ResXResourceReader.cs, ResXResourceWriter.cs: Added call
v = c.ConvertFrom (Convert.FromBase64String (val));
} else if (tt != null) {
TypeConverter c = TypeDescriptor.GetConverter (tt);
- v = c.ConvertFromString (val);
+ v = c.ConvertFromInvariantString (val);
} else if (mt != null) {
byte [] data = Convert.FromBase64String (val);
BinaryFormatter f = new BinaryFormatter ();
}
void WriteString (string name, string value)
+ {
+ WriteString (name, value, null);
+ }
+
+ void WriteString (string name, string value, string typename)
{
writer.WriteStartElement ("data");
writer.WriteAttributeString ("name", name);
+ if (typename != null)
+ writer.WriteAttributeString ("type", typename);
writer.WriteStartElement ("value");
writer.WriteString (value);
writer.WriteEndElement ();
if (writer == null)
InitWriter ();
+ if (value is string) {
+ WriteString (name, (string) value);
+ return;
+ }
+
TypeConverter converter = TypeDescriptor.GetConverter (value);
if (converter != null && converter.CanConvertTo (typeof (string)) && converter.CanConvertFrom (typeof (string))) {
- string str = (string) converter.ConvertTo (value, typeof (string));
- WriteString (name, str);
+ string str = (string) converter.ConvertToInvariantString (value);
+ WriteString (name, str, value.GetType ().AssemblyQualifiedName);
return;
}