public class Marshaller<T> : object
Encapsulates the logic for serializing and deserializing messages.
Namespace
Grpc.CoreAssembly
Grpc.Core.Api.dll
Type Parameter |
|
---|---|
Name | Description |
T |
Constructors
Marshaller(Action<T, SerializationContext>, Func<DeserializationContext, T>)
public Marshaller(Action<T, SerializationContext> serializer, Func<DeserializationContext, T> deserializer)
Initializes a new marshaller from serialize/deserialize fuctions that can access serialization and deserialization context. Compared to the simple serializer/deserializer functions, using the contextual version provides more flexibility and can lead to increased efficiency (and better performance). Note: This constructor is part of an experimental API that can change or be removed without any prior notice.
Parameters | |
---|---|
Name | Description |
serializer |
Action<T, SerializationContext> Function that will be used to serialize messages. |
deserializer |
Func<DeserializationContext, T> Function that will be used to deserialize messages. |
Marshaller(Func<T, Byte[]>, Func<Byte[], T>)
public Marshaller(Func<T, byte[]> serializer, Func<byte[], T> deserializer)
Initializes a new marshaller from simple serialize/deserialize functions.
Parameters | |
---|---|
Name | Description |
serializer |
Func<T, Byte[]> Function that will be used to serialize messages. |
deserializer |
Func<Byte[], T> Function that will be used to deserialize messages. |
Properties
ContextualDeserializer
public Func<DeserializationContext, T> ContextualDeserializer { get; }
Gets the serializer function. Note: experimental API that can change or be removed without any prior notice.
Property Value | |
---|---|
Type | Description |
Func<DeserializationContext, T> |
ContextualSerializer
public Action<T, SerializationContext> ContextualSerializer { get; }
Gets the serializer function. Note: experimental API that can change or be removed without any prior notice.
Property Value | |
---|---|
Type | Description |
Action<T, SerializationContext> |
Deserializer
public Func<byte[], T> Deserializer { get; }
Gets the deserializer function.
Property Value | |
---|---|
Type | Description |
Func<Byte[], T> |
Serializer
public Func<T, byte[]> Serializer { get; }
Gets the serializer function.
Property Value | |
---|---|
Type | Description |
Func<T, Byte[]> |