Skip to content

Commit a70069e

Browse files
Merge pull request #534 from RosarioPulella/iobser-str-to-obj
IObjectSerializer fix examples.
2 parents 10158df + 01c5946 commit a70069e

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

docs/helpers/ObjectSerializer.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ You should implement IObjectSerializer when you need to write data using this to
1616

1717
| Methods | Return Type | Description |
1818
|---------|-------------|-------------|
19-
| Serialize\<T>(T) | string | Serialize an object of type T into a string. |
20-
| Deserialize\<T>(string) | T | Deserialize a string to an object of type T. |
19+
| Serialize\<T>(T) | object | Serialize an object of type T into a object. |
20+
| Deserialize\<T>(object) | T | Deserialize a object to an object of type T. |
2121

2222
## Examples
2323

@@ -33,7 +33,7 @@ namespace Contoso.Helpers
3333
{
3434
public object Serialize<T>(T value) => JsonSerializer.Serialize(value);
3535

36-
public T Deserialize<T>(object value) => JsonSerializer.Deserialize<T>(value.ToString());
36+
public T Deserialize<T>(object value) => JsonSerializer.Deserialize<T>((string)value);
3737
}
3838
}
3939
```
@@ -51,16 +51,17 @@ namespace Contoso.Helpers
5151
// Specify your serialization settings
5252
private readonly JsonSerializerSettings settings = new JsonSerializerSettings();
5353

54-
public string Serialize<T>(T value) => JsonConvert.SerializeObject(value, typeof(T), Formatting.Indented, settings);
54+
public object Serialize<T>(T value) => JsonConvert.SerializeObject(value, typeof(T), Formatting.Indented , settings);
5555

56-
public T Deserialize<T>(string value) => JsonConvert.DeserializeObject<T>(value, settings);
56+
public T Deserialize<T>(object value) => JsonConvert.DeserializeObject<T>((string)value, settings);
5757
}
5858
}
5959
```
6060

6161
### DataContract
6262

6363
```csharp
64+
using Microsoft.Toolkit.Uwp.Helpers;
6465
using System.IO;
6566
using System.Runtime.Serialization;
6667
using System.Xml;
@@ -72,7 +73,7 @@ namespace Contoso.Helpers
7273
// Specify your serialization settings
7374
private readonly DataContractSerializerSettings settings = new DataContractSerializerSettings();
7475

75-
public string Serialize<T>(T value)
76+
public object Serialize<T>(T value)
7677
{
7778
var serializer = new DataContractSerializer(typeof(T), settings);
7879

@@ -84,14 +85,14 @@ namespace Contoso.Helpers
8485
}
8586
}
8687

87-
public T Deserialize<T>(string value)
88+
public T Deserialize<T>(object value)
8889
{
8990
var serializer = new DataContractSerializer(typeof(T), settings);
9091

91-
using (var stringReader = new StringReader(value))
92+
using (var stringReader = new StringReader((string)value))
9293
using (var xmlReader = XmlReader.Create(stringReader))
9394
{
94-
return serializer.ReadObject(xmlReader) as T;
95+
return (T)serializer.ReadObject(xmlReader);
9596
}
9697
}
9798
}

0 commit comments

Comments
 (0)