diff options
author | Marek Safar <marek.safar@gmail.com> | 2014-02-11 02:10:06 +0400 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2014-02-11 02:10:58 +0400 |
commit | a6e236b2d68fd7b72ce3d5ceda445dc65ef55dab (patch) | |
tree | 11e61f50d22562afffbdef1b374de770b9e24720 /mcs/class/System.XML/System.Xml | |
parent | e3fa93de35dc3c9e3f26aab3695d0d3cc4869556 (diff) |
[system.xml] Support more primitive types in XmlReader::ReadContentAs
Diffstat (limited to 'mcs/class/System.XML/System.Xml')
-rw-r--r-- | mcs/class/System.XML/System.Xml/XQueryConvert.cs | 6 | ||||
-rw-r--r-- | mcs/class/System.XML/System.Xml/XmlReader.cs | 20 |
2 files changed, 19 insertions, 7 deletions
diff --git a/mcs/class/System.XML/System.Xml/XQueryConvert.cs b/mcs/class/System.XML/System.Xml/XQueryConvert.cs index 941b9e91036..b338ed1e1b0 100644 --- a/mcs/class/System.XML/System.Xml/XQueryConvert.cs +++ b/mcs/class/System.XML/System.Xml/XQueryConvert.cs @@ -566,17 +566,17 @@ namespace System.Xml return XmlConvert.ToDateTime (value); } - public static long StringToUnsignedInt (string value) + public static UInt32 StringToUnsignedInt (string value) { return XmlConvert.ToUInt32 (value); } - public static decimal StringToUnsignedLong (string value) + public static UInt64 StringToUnsignedLong (string value) { return XmlConvert.ToUInt64 (value); } - public static int StringToUnsignedShort (string value) + public static UInt16 StringToUnsignedShort (string value) { return XmlConvert.ToUInt16 (value); } diff --git a/mcs/class/System.XML/System.Xml/XmlReader.cs b/mcs/class/System.XML/System.Xml/XmlReader.cs index fba2950f037..66f78e5f37a 100644 --- a/mcs/class/System.XML/System.Xml/XmlReader.cs +++ b/mcs/class/System.XML/System.Xml/XmlReader.cs @@ -1066,16 +1066,28 @@ namespace System.Xml switch (Type.GetTypeCode (type)) { case TypeCode.Boolean: return XQueryConvert.StringToBoolean (text); + case TypeCode.Byte: + return XmlConvert.ToByte (text); + case TypeCode.SByte: + return XmlConvert.ToSByte (text); + case TypeCode.Int16: + return XmlConvert.ToInt16 (text); + case TypeCode.UInt16: + return XQueryConvert.StringToUnsignedShort (text); + case TypeCode.Int32: + return XQueryConvert.StringToInt (text); + case TypeCode.UInt32: + return XQueryConvert.StringToUnsignedInt (text); + case TypeCode.Int64: + return XQueryConvert.StringToInteger (text); + case TypeCode.UInt64: + return XQueryConvert.StringToUnsignedLong (text); case TypeCode.DateTime: return XQueryConvert.StringToDateTime (text); case TypeCode.Decimal: return XQueryConvert.StringToDecimal (text); case TypeCode.Double: return XQueryConvert.StringToDouble (text); - case TypeCode.Int32: - return XQueryConvert.StringToInt (text); - case TypeCode.Int64: - return XQueryConvert.StringToInteger (text); case TypeCode.Single: return XQueryConvert.StringToFloat (text); case TypeCode.String: |