Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Safar <marek.safar@gmail.com>2014-02-11 02:10:06 +0400
committerMarek Safar <marek.safar@gmail.com>2014-02-11 02:10:58 +0400
commita6e236b2d68fd7b72ce3d5ceda445dc65ef55dab (patch)
tree11e61f50d22562afffbdef1b374de770b9e24720 /mcs/class/System.XML/System.Xml
parente3fa93de35dc3c9e3f26aab3695d0d3cc4869556 (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.cs6
-rw-r--r--mcs/class/System.XML/System.Xml/XmlReader.cs20
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: