.NET Library to support to provide extension methods.
Install-Package Trestle.Extensions -Version 0.0.30
Trestle is a .NET Standard library providing functionality to support
NuGet package providing a suite of .Net functionality.
The latest stable release of Trestle is available on NuGet. https://www.nuget.org/packages/Trestle/
Dictionary serialization example:
var data = new Dictionary<string, object>{ {"name","test"},{"id",11 } };
using (var memory = new MemoryStream())
{
var formatter = new JsonFormatter();
formatter.Serialize(memory, data);
var json = Encoding.UTF8.GetString(memory.ToArray());
Assert.AreEqual("{\"name\":\"test\",\"id\":11}",json);
}
List serialization example:
var list = new List<object> { 0, 1, 2, 3 };
using (var memory = new MemoryStream())
{
var formatter = new JsonFormatter();
formatter.Serialize(memory, list);
var json = Encoding.UTF8.GetString(memory.ToArray());
Assert.AreEqual("[0,1,2,3]",json);
}
ISerializable serialization example:
class Widget : ISerializable
{
public Widget(int code, string message)
{
_code = code;
_message = message;
}
private Widget(SerializationInfo info, StreamingContext context)
{
_code = info.GetInt32("code");
_message = info.GetString("message");
}
[SecurityPermission(SecurityAction.Demand, SerializationFormatter = true)]
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("code", _code);
info.AddValue("message", Message);
}
public int Code { get { return _code; } }
private readonly int _code = 11;
public string Message { get { return _message; } }
private string _message = "?";
}
var widget = new Widget(11,"test");
using (var memory = new MemoryStream())
{
var formatter = new JsonFormatter();
formatter.Serialize(memory, widget);
var json = Encoding.UTF8.GetString(memory.ToArray());
Assert.AreEqual("{\"code\":11,\"message\":\"test\"}",json);
}
Dictionary deserialization example:
var memory = new MemoryStream(Encoding.UTF8.GetBytes("{\"name\":\"test\",\"id\":11}"));
var formatter = new JsonFormatter();
var data = formatter.Deserialize(memory) as IDictionary;
Assert.AreEqual("test", data["name"]);