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 |
ActionSerializationContextFunction that will be used to serialize messages. |
deserializer |
FuncDeserializationContextFunction 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 |
FuncSystem.ByteFunction that will be used to serialize messages. |
deserializer |
FuncSystem.ByteFunction 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 |
FuncSystem.Byte |
|
Serializer
public Func<T, byte[]> Serializer { get; }Gets the serializer function.
| Property Value | |
|---|---|
| Type | Description |
FuncSystem.Byte |
|