wasSharpNET – Diff between revs 27 and 28

Subversion Repositories:
Rev:
Show entire fileIgnore whitespace
Rev 27 Rev 28
Line 7... Line 7...
7   7  
8 using System; 8 using System;
9 using System.Collections.Generic; 9 using System.Collections.Generic;
10 using System.IO; 10 using System.IO;
-   11 using System.Linq;
11 using System.Linq; 12 using System.Text;
-   13 using System.Threading;
12 using System.Threading; 14 using System.Threading.Tasks;
13 using System.Xml; 15 using System.Xml;
14 using System.Xml.Linq; 16 using System.Xml.Linq;
Line 15... Line 17...
15 using System.Xml.Serialization; 17 using System.Xml.Serialization;
Line 92... Line 94...
92   94  
93 public static T Deserialize<T>(string XmlData, Type[] ExtraTypes) 95 public static T Deserialize<T>(string XmlData, Type[] ExtraTypes)
94 { 96 {
95 try 97 try
96 { 98 {
97 using (var memoryStream = new MemoryStream()) 99 using (var XmlReader = XDocument.Parse(XmlData).Root.CreateReader())
98 { -  
99 using (var streamWriter = new StreamWriter(memoryStream)) -  
100 { -  
101 streamWriter.Write(XmlData); -  
102 streamWriter.Flush(); -  
103 memoryStream.Position = 0; 100 {
104 return (T) GetSerializer<T>(ExtraTypes).Deserialize(memoryStream); -  
105 } 101 return (T) GetSerializer<T>(ExtraTypes).Deserialize(XmlReader);
106 } 102 }
107 } 103 }
108 catch (Exception ex) 104 catch (Exception ex)
109 { 105 {
Line 140... Line 136...
140 public static XDocument Serialize<T>(T Object) 136 public static XDocument Serialize<T>(T Object)
141 { 137 {
142 return Serialize(Object, null); 138 return Serialize(Object, null);
143 } 139 }
Line 144... Line 140...
144   140  
145 public static T Deserialize<T>(StreamReader streamReader) 141 public static async Task<T> Deserialize<T>(StreamReader streamReader)
146 { 142 {
147 return Deserialize<T>(streamReader.ReadToEnd(), null); 143 return Deserialize<T>(await streamReader.ReadToEndAsync(), null);
Line 148... Line 144...
148 } 144 }
149   145  
150 public static T Deserialize<T>(Stream stream) 146 public static async Task<T> Deserialize<T>(Stream stream)
151 { 147 {
152 using (var memoryStream = new MemoryStream()) 148 using (var memoryStream = new MemoryStream())
153 { 149 {
154 stream.CopyTo(memoryStream); 150 await stream.CopyToAsync(memoryStream);
155 memoryStream.Position = 0L; 151 memoryStream.Position = 0L;
156 using (var streamReader = new StreamReader(memoryStream)) 152 using (var streamReader = new StreamReader(memoryStream))
157 { 153 {
Line 173... Line 169...
173 public static void Serialize<T>(StringWriter stringWriter, T value) 169 public static void Serialize<T>(StringWriter stringWriter, T value)
174 { 170 {
175 Serialize(value, null).Save(stringWriter); 171 Serialize(value, null).Save(stringWriter);
176 } 172 }
Line 177... Line 173...
177   173  
178 public static T Deserialize<T>(TextReader reader) 174 public static async Task<T> Deserialize<T>(TextReader reader)
179 { 175 {
180 return Deserialize<T>(reader.ReadToEnd(), null); 176 return Deserialize<T>(await reader.ReadToEndAsync(), null);
181 } 177 }
182 } 178 }
183 } 179 }