internal static object DeserializeBoolean(InternalDeserializer deserializer) { object obj2; try { obj2 = XmlConvert.ToBoolean(deserializer._reader.ReadElementString()); } catch (FormatException exception) { throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, exception, new object[] { typeof(bool).FullName }); } return obj2; }
internal static object DeserializeByteArray(InternalDeserializer deserializer) { object obj2; try { obj2 = Convert.FromBase64String(deserializer._reader.ReadElementString()); } catch (FormatException exception) { throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, exception, new object[] { typeof(byte[]).FullName }); } return obj2; }
internal static object DeserializeByte(InternalDeserializer deserializer) { Exception innerException = null; try { return XmlConvert.ToByte(deserializer._reader.ReadElementString()); } catch (FormatException exception2) { innerException = exception2; } catch (OverflowException exception3) { innerException = exception3; } throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, innerException, new object[] { typeof(byte).FullName }); }
internal static object DeserializeXmlDocument(InternalDeserializer deserializer) { object obj2; string xmlContents = deserializer.ReadDecodedElementString("XD"); try { int? maxCharactersInDocument = null; if (deserializer._context.MaximumAllowedMemory.HasValue) { maxCharactersInDocument = new int?(deserializer._context.MaximumAllowedMemory.Value / 2); } XmlDocument document = LoadUnsafeXmlDocument(xmlContents, true, maxCharactersInDocument); deserializer._context.LogExtraMemoryUsage((xmlContents.Length - document.OuterXml.Length) * 2); obj2 = document; } catch (XmlException exception) { throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, exception, new object[] { typeof(XmlDocument).FullName }); } return obj2; }
internal static object DeserializeUri(InternalDeserializer deserializer) { object obj2; try { obj2 = new Uri(deserializer.ReadDecodedElementString("URI"), UriKind.RelativeOrAbsolute); } catch (UriFormatException exception) { throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, exception, new object[] { typeof(Uri).FullName }); } return obj2; }
internal static object DeserializeProgressRecord(InternalDeserializer deserializer) { ProgressRecordType type; object obj3; deserializer.ReadStartElement("PR"); string activity = null; string str2 = null; string str3 = null; string statusDescription = null; int activityId = 0; int num2 = 0; int num3 = 0; int num4 = 0; Exception innerException = null; try { activity = deserializer.ReadDecodedElementString("AV"); activityId = int.Parse(deserializer.ReadDecodedElementString("AI"), CultureInfo.InvariantCulture); object obj2 = deserializer.ReadOneObject(); str2 = (obj2 == null) ? null : obj2.ToString(); num2 = int.Parse(deserializer.ReadDecodedElementString("PI"), CultureInfo.InvariantCulture); num3 = int.Parse(deserializer.ReadDecodedElementString("PC"), CultureInfo.InvariantCulture); str3 = deserializer.ReadDecodedElementString("T"); num4 = int.Parse(deserializer.ReadDecodedElementString("SR"), CultureInfo.InvariantCulture); statusDescription = deserializer.ReadDecodedElementString("SD"); } catch (FormatException exception2) { innerException = exception2; } catch (OverflowException exception3) { innerException = exception3; } if (innerException != null) { throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, innerException, new object[] { typeof(ulong).FullName }); } deserializer.ReadEndElement(); try { type = (ProgressRecordType) Enum.Parse(typeof(ProgressRecordType), str3, true); } catch (ArgumentException exception4) { throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, exception4, new object[] { typeof(ProgressRecord).FullName }); } try { ProgressRecord record = new ProgressRecord(activityId, activity, statusDescription); if (!string.IsNullOrEmpty(str2)) { record.CurrentOperation = str2; } record.ParentActivityId = num2; record.PercentComplete = num3; record.RecordType = type; record.SecondsRemaining = num4; obj3 = record; } catch (ArgumentException exception5) { throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, exception5, new object[] { typeof(ProgressRecord).FullName }); } return obj3; }
internal static object DeserializeDateTime(InternalDeserializer deserializer) { object obj2; try { obj2 = XmlConvert.ToDateTime(deserializer._reader.ReadElementString(), XmlDateTimeSerializationMode.RoundtripKind); } catch (FormatException exception) { throw deserializer.NewXmlException(Serialization.InvalidPrimitiveType, exception, new object[] { typeof(DateTime).FullName }); } return obj2; }