Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aviso
Esse componente foi arquivado e não está disponível na versão atual do Kit de Ferramentas da Comunidade do Windows.
Embora não haja planos imediatos para portar esse componente para o 8.x, a comunidade é bem-vinda para expressar interesse ou contribuir para sua inclusão.
Para obter mais informações:
A documentação original segue abaixo.
Você deve implementar o IObjectSerializer quando precisar escrever dados usando os auxiliares desse kit de ferramentas com um serializador personalizado. Se você não fizer isso, um serializador JSON padrão será usado.
Methods
| Methods | Tipo de retorno | Description |
|---|---|---|
| Serializar<T>(T) | objeto | Serialize um objeto do tipo T em um objeto. |
| Desserializar<T>(objeto) | T | Desserializar um objeto para um objeto do tipo T. |
Exemplos
System.Text.Json
using Microsoft.Toolkit.Uwp.Helpers;
using System.Text.Json;
namespace Contoso.Helpers
{
public class SystemTextJsonObjectSerializer : IObjectSerializer
{
public object Serialize<T>(T value) => JsonSerializer.Serialize(value);
public T Deserialize<T>(object value) => JsonSerializer.Deserialize<T>((string)value);
}
}
Json.NET
using Microsoft.Toolkit.Uwp.Helpers;
using Newtonsoft.Json;
namespace Contoso.Helpers
{
public class JsonNetObjectSerializer : IObjectSerializer
{
// Specify your serialization settings
private readonly JsonSerializerSettings settings = new JsonSerializerSettings();
public object Serialize<T>(T value) => JsonConvert.SerializeObject(value, typeof(T), Formatting.Indented , settings);
public T Deserialize<T>(object value) => JsonConvert.DeserializeObject<T>((string)value, settings);
}
}
Datacontract
using Microsoft.Toolkit.Uwp.Helpers;
using System.IO;
using System.Runtime.Serialization;
using System.Xml;
namespace Contoso.Helpers
{
public class DataContractObjectSerializer : IObjectSerializer
{
// Specify your serialization settings
private readonly DataContractSerializerSettings settings = new DataContractSerializerSettings();
public object Serialize<T>(T value)
{
var serializer = new DataContractSerializer(typeof(T), settings);
using (var stringWriter = new StringWriter())
using (var xmlWriter = XmlWriter.Create(stringWriter))
{
serializer.WriteObject(xmlWriter, value);
return stringWriter.ToString();
}
}
public T Deserialize<T>(object value)
{
var serializer = new DataContractSerializer(typeof(T), settings);
using (var stringReader = new StringReader((string)value))
using (var xmlReader = XmlReader.Create(stringReader))
{
return (T)serializer.ReadObject(xmlReader);
}
}
}
}
Requirements
| Família de dispositivos | Universal, 10.0.16299.0 ou superior |
|---|---|
| Namespace | Microsoft.Toolkit.Uwp |
| Pacote NuGet | Microsoft.Toolkit.Uwp |
API
Tópicos relacionados
.NET Community Toolkit