Class Marshaller<T> (2.63.0)

public class Marshaller<T>

Encapsulates the logic for serializing and deserializing messages.

Inheritance

object > Marshaller<T>

Namespace

Grpc.Core

Assembly

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