* ObjectReader.cs, ObjectWriter.cs, BinaryCommon.cs: Fixed bug #45970.
[mono.git] / mcs / class / corlib / System.Runtime.Serialization.Formatters.Binary / ObjectWriter.cs
index 89886bb6967cd56f72c6e18049226425dcb0167d..73a03d2b4eb7a2a567b0db3a2cb6690de98f3b25 100644 (file)
@@ -562,7 +562,9 @@ namespace System.Runtime.Serialization.Formatters.Binary
 \r
                public static void WritePrimitiveValue (BinaryWriter writer, object value)\r
                {\r
-                       switch (Type.GetTypeCode (value.GetType()))\r
+                       Type type = value.GetType();\r
+\r
+                       switch (Type.GetTypeCode (type))\r
                        {\r
                                case TypeCode.Boolean:\r
                                        writer.Write ((bool)value);\r
@@ -625,7 +627,11 @@ namespace System.Runtime.Serialization.Formatters.Binary
                                        break;\r
 \r
                                default:\r
-                                       throw new NotSupportedException ("Unsupported primitive type: " + value.GetType().FullName);\r
+                                       if (type == typeof (TimeSpan))\r
+                                               writer.Write (((TimeSpan)value).Ticks);\r
+                                       else\r
+                                               throw new NotSupportedException ("Unsupported primitive type: " + value.GetType().FullName);\r
+                                       break;\r
                        }\r
                }\r
 \r