Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #region Serialization
- private static DataContractSerializer CreateSerializer()
- {
- var serializer = new DataContractSerializer(
- typeof(Player),
- new[] { typeof(Player) },
- int.MaxValue,
- true,
- true,
- null);
- return serializer;
- }
- private static DataContractSerializer CreateSerializer2()
- {
- var serializer = new DataContractSerializer(
- typeof(Player),
- new[] { typeof(Trainer) },
- int.MaxValue,
- true,
- true,
- null);
- return serializer;
- }
- private static DataContractSerializer CreateSerializer3()
- {
- var serializer = new DataContractSerializer(
- typeof(Player),
- new[] { typeof(FBase) },
- int.MaxValue,
- true,
- true,
- null);
- return serializer;
- }
- public void SaveTo(Stream stream)
- {
- var serializer = CreateSerializer();
- var serializer2 = CreateSerializer2();
- var serializer3 = CreateSerializer3();
- var xmlSettings = new XmlWriterSettings
- {
- CloseOutput = false,
- Indent = true,
- NewLineChars = Environment.NewLine,
- };
- using (var xmlWriter = XmlWriter.Create(stream, xmlSettings))
- {
- serializer.WriteObject(xmlWriter, this);
- serializer2.WriteObject(xmlWriter, this);
- serializer3.WriteObject(xmlWriter, this);
- xmlWriter.Flush();
- }
- }
- public static Team LoadFrom(Stream stream)
- {
- var serializer = CreateSerializer();
- var serializer2 = CreateSerializer2();
- var serializer3 = CreateSerializer3();
- var xmlSettings = new XmlReaderSettings
- {
- CloseInput = false,
- };
- using (var xmlReader = XmlReader.Create(stream, xmlSettings))
- {
- var deserializedObject = serializer.ReadObject(xmlReader);
- return (Team)deserializedObject;
- }
- }
- #endregion
Add Comment
Please, Sign In to add comment