Fixed bug #4668 - C# compiler doesn't like decimal in custom attribute values, so...
authorAtsushi Eno <atsushieno@veritas-vos-liberabit.com>
Fri, 9 Aug 2013 08:03:40 +0000 (17:03 +0900)
committerAtsushi Eno <atsushieno@veritas-vos-liberabit.com>
Fri, 9 Aug 2013 08:03:40 +0000 (17:03 +0900)
mcs/class/System.XML/System.Xml.Serialization/MapCodeGenerator.cs

index ed06d61a688c2b69519d4711906a76231e6a0ace..9f754c727b7fe4f7a8d924c563def3982b95d861 100644 (file)
@@ -691,6 +691,7 @@ namespace System.Xml.Serialization {
                        }
                        else
                        {
+                               defaultValue = defaultValue is decimal ? (object) ('"' + ((decimal) defaultValue).ToString (CultureInfo.InvariantCulture) + '"') : defaultValue;
                                AddCustomAttribute (externalField, "System.ComponentModel.DefaultValue", GetArg (defaultValue));
                                //internalField.InitExpression = new CodePrimitiveExpression (defaultValue);
                        }