<PackageReference Include="Grpc.Core.Api" Version="2.76.0" />

Grpc.Core.Marshaller<T>

public class Marshaller<T>
Encapsulates the logic for serializing and deserializing messages.

Gets the serializer function. Note: experimental API that can change or be removed without any prior notice.

Gets the serializer function. Note: experimental API that can change or be removed without any prior notice.

public Func<byte[], T> Deserializer { get; }

Gets the deserializer function.

public Func<T, byte[]> Serializer { get; }

Gets the serializer function.

public Marshaller(Func<T, byte[]> serializer, Func<byte[], T> deserializer)

Initializes a new marshaller from simple serialize/deserialize functions.

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.