aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers.Serialization/AbstractReader.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ProtocolBuffers.Serialization/AbstractReader.cs')
-rw-r--r--src/ProtocolBuffers.Serialization/AbstractReader.cs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/ProtocolBuffers.Serialization/AbstractReader.cs b/src/ProtocolBuffers.Serialization/AbstractReader.cs
index 3c60139a..a46125fc 100644
--- a/src/ProtocolBuffers.Serialization/AbstractReader.cs
+++ b/src/ProtocolBuffers.Serialization/AbstractReader.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Globalization;
using Google.ProtocolBuffers.Descriptors;
//Disable CS3011: only CLS-compliant members can be abstract
@@ -697,5 +698,28 @@ namespace Google.ProtocolBuffers.Serialization
}
#endregion
+
+ internal static bool TryParseInt32(string text, out int number)
+ {
+ return TryParseInt32(text, NumberStyles.Any, CultureInfo.InvariantCulture, out number);
+ }
+
+ internal static bool TryParseInt32(string text, NumberStyles style, IFormatProvider format, out int number)
+ {
+#if COMPACT_FRAMEWORK
+ try
+ {
+ number = int.Parse(text, NumberStyles.Integer, CultureInfo.InvariantCulture);
+ return true;
+ }
+ catch
+ {
+ number = 0;
+ return false;
+ }
+#else
+ return int.TryParse(text, NumberStyles.Integer, CultureInfo.InvariantCulture, out number);
+#endif
+ }
}
} \ No newline at end of file