private static byte[] SerializeInternal <T>(IMarshallerFactory factory, object value) { using (var context = new DefaultSerializationContext()) { factory.CreateMarshaller <T>().ContextualSerializer((T)value, context); return(context.GetContent()); } }
public static byte[] SerializeValue <T>(Marshaller <T> marshaller, T value) { byte[] payload; using (var serializationContext = new DefaultSerializationContext()) { marshaller.ContextualSerializer(value, serializationContext); payload = serializationContext.GetContent(); } return(payload); }
private static T ContextualClone <T>(T value, Marshaller <T> marshaller) { byte[] content; using (var serializationContext = new DefaultSerializationContext()) { marshaller.ContextualSerializer(value, serializationContext); content = serializationContext.GetContent(); } Console.WriteLine("Size: {0}", content.Length); return(marshaller.ContextualDeserializer(new DefaultDeserializationContext(content))); }
private static Metadata SerializeHeader <T>(Marshaller <T> marshaller, string headerName, T headerValue) { byte[] payload; using (var serializationContext = new DefaultSerializationContext()) { marshaller.ContextualSerializer(headerValue, serializationContext); payload = serializationContext.GetContent(); } return(new Metadata { { headerName, payload } }); }
private void MarshallTest <T>(T value) { byte[] content; using (var serializationContext = new DefaultSerializationContext(10 * 1024)) { DataContractMarshaller <T> .Default.ContextualSerializer(value, serializationContext); content = serializationContext.GetContent(); } var actual = DataContractMarshaller <T> .Default.ContextualDeserializer(new DefaultDeserializationContext(content)); actual.ShouldBe(value); }
public void MarshallNull() { byte[] content; using (var serializationContext = new DefaultSerializationContext()) { DataContractMarshaller <string> .Default.ContextualSerializer(null !, serializationContext); content = serializationContext.GetContent(); } var actual = DataContractMarshaller <string> .Default.ContextualDeserializer(new DefaultDeserializationContext(content)); actual.ShouldBeNull(); }