public class Marshaller<T>
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 |
ActionSerializationContext Function that will be used to serialize messages. |
deserializer |
FuncDeserializationContext 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 |
Funcbyte Function that will be used to serialize messages. |
deserializer |
Funcbyte 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 |
FuncDeserializationContext |
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 |
ActionSerializationContext |
Deserializer
public Func<byte[], T> Deserializer { get; }
Gets the deserializer function.
Property Value | |
---|---|
Type | Description |
Funcbyte |
Serializer
public Func<T, byte[]> Serializer { get; }
Gets the serializer function.
Property Value | |
---|---|
Type | Description |
Funcbyte |