# Serializer&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/)

## Deserialize(ArcBuffer) {#deserialize-orleans-serialization-buffers-arcbuffer-a77bb3f1}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-orleans-serialization-buffers-arcbuffer-a77bb3f1/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ArcBuffer source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ArcBuffer`): The source buffer.

### Returns

The deserialized value.

## Deserialize(ArcBuffer, SerializerSession) {#deserialize-orleans-serialization-buffers-arcbuffer-orleans-serialization-sessio-eb7bac65}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-orleans-serialization-buffers-arcbuffer-orleans-serialization-sessio-eb7bac65/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ArcBuffer source, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ArcBuffer`): The source buffer.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(ArraySegment&lt;byte&gt;) {#deserialize-system-arraysegment-byte-cfe8070f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-arraysegment-byte-cfe8070f/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ArraySegment<byte> source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ArraySegment<byte>`): The source buffer.

### Returns

The deserialized value.

## Deserialize(ArraySegment&lt;byte&gt;, SerializerSession) {#deserialize-system-arraysegment-byte-orleans-serialization-session-serializerses-a01a9d97}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-arraysegment-byte-orleans-serialization-session-serializerses-a01a9d97/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ArraySegment<byte> source, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ArraySegment<byte>`): The source buffer.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(BufferSlice) {#deserialize-orleans-serialization-buffers-pooledbuffer-bufferslice-a60cc2ab}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-orleans-serialization-buffers-pooledbuffer-bufferslice-a60cc2ab/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(BufferSlice source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`BufferSlice`): The source buffer.

### Returns

The deserialized value.

## Deserialize(BufferSlice, SerializerSession) {#deserialize-orleans-serialization-buffers-pooledbuffer-bufferslice-orleans-seria-cc41421b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-orleans-serialization-buffers-pooledbuffer-bufferslice-orleans-seria-cc41421b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(BufferSlice source, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`BufferSlice`): The source buffer.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(ReadOnlyMemory&lt;byte&gt;) {#deserialize-system-readonlymemory-byte-790db688}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-readonlymemory-byte-790db688/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ReadOnlyMemory<byte> source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlyMemory<byte>`): The source buffer.

### Returns

The deserialized value.

## Deserialize(ReadOnlyMemory&lt;byte&gt;, SerializerSession) {#deserialize-system-readonlymemory-byte-orleans-serialization-session-serializers-a0228eee}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-readonlymemory-byte-orleans-serialization-session-serializers-a0228eee/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ReadOnlyMemory<byte> source, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlyMemory<byte>`): The source buffer.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(ReadOnlySequence&lt;byte&gt;) {#deserialize-system-buffers-readonlysequence-byte-b3a4412e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-buffers-readonlysequence-byte-b3a4412e/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ReadOnlySequence<byte> source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlySequence<byte>`): The source buffer.

### Returns

The deserialized value.

## Deserialize(ReadOnlySequence&lt;byte&gt;, SerializerSession) {#deserialize-system-buffers-readonlysequence-byte-orleans-serialization-session-s-00afb528}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-buffers-readonlysequence-byte-orleans-serialization-session-s-00afb528/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ReadOnlySequence<byte> source, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlySequence<byte>`): The source buffer.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(ReadOnlySpan&lt;byte&gt;) {#deserialize-system-readonlyspan-byte-846fc7ab}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-readonlyspan-byte-846fc7ab/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ReadOnlySpan<byte> source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlySpan<byte>`): The source buffer.

### Returns

The deserialized value.

## Deserialize(ReadOnlySpan&lt;byte&gt;, SerializerSession) {#deserialize-system-readonlyspan-byte-orleans-serialization-session-serializerses-419e591b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-readonlyspan-byte-orleans-serialization-session-serializerses-419e591b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(ReadOnlySpan<byte> source, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`ReadOnlySpan<byte>`): The source buffer.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(Stream) {#deserialize-system-io-stream-86aa8e5d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-io-stream-86aa8e5d/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(Stream source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`Stream`): The source buffer.

### Returns

The deserialized value.

## Deserialize(Stream, SerializerSession) {#deserialize-system-io-stream-orleans-serialization-session-serializersession-5016dd99}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-system-io-stream-orleans-serialization-session-serializersession-5016dd99/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(Stream source, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`Stream`): The source buffer.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(byte[]) {#deserialize-byte-array-1-3f57120b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-byte-array-1-3f57120b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(byte[] source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`byte[]`): The source buffer.

### Returns

The deserialized value.

## Deserialize(byte[], SerializerSession) {#deserialize-byte-array-1-orleans-serialization-session-serializersession-fede1cfb}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-byte-array-1-orleans-serialization-session-serializersession-fede1cfb/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize(byte[] source, SerializerSession session)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`byte[]`): The source buffer.
- `session` (`SerializerSession`): The serializer session.

### Returns

The deserialized value.

## Deserialize(Reader&lt;TInput&gt;) {#deserialize-1-ref-orleans-serialization-buffers-reader-tinput-267d3db9}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/deserialize-1-ref-orleans-serialization-buffers-reader-tinput-267d3db9/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public T Deserialize<TInput>(ref Reader<TInput> source)
```

Deserialize a value of type `T` from `source`.

### Parameters

- `source` (`Reader<TInput>`): The source buffer.

### Returns

The deserialized value.

## Serialize(T, byte[]) {#serialize-t-byte-array-1-c551748b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-t-byte-array-1-c551748b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public int Serialize(T value, byte[] destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`byte[]`): The destination where serialized data will be written.

### Returns

The length of the serialized data.

## Serialize(T, byte[], SerializerSession) {#serialize-t-byte-array-1-orleans-serialization-session-serializersession-1b42487b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-t-byte-array-1-orleans-serialization-session-serializersession-1b42487b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public int Serialize(T value, byte[] destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`byte[]`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.

### Returns

The length of the serialized data.

## Serialize(T, Stream, SerializerSession, int) {#serialize-t-system-io-stream-orleans-serialization-session-serializersession-int-a51daab2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-t-system-io-stream-orleans-serialization-session-serializersession-int-a51daab2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs#L760-L779)

```csharp
public void Serialize(T value, Stream destination, SerializerSession session, int sizeHint = 0)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Stream`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.
- `sizeHint` (`int`): The estimated upper bound for the length of the serialized data.

## Serialize(T, Stream, int) {#serialize-t-system-io-stream-int-c950aa5c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-t-system-io-stream-int-c950aa5c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs#L728-L748)

```csharp
public void Serialize(T value, Stream destination, int sizeHint = 0)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Stream`): The destination where serialized data will be written.
- `sizeHint` (`int`): The estimated upper bound for the length of the serialized data.

## Serialize(T, Memory&lt;byte&gt;) {#serialize-t-ref-system-memory-byte-b8108ce8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-t-ref-system-memory-byte-b8108ce8/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(T value, ref Memory<byte> destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Memory<byte>`): The destination where serialized data will be written.

## Serialize(T, Memory&lt;byte&gt;, SerializerSession) {#serialize-t-ref-system-memory-byte-orleans-serialization-session-serializersessi-71c6904e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-t-ref-system-memory-byte-orleans-serialization-session-serializersessi-71c6904e/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(T value, ref Memory<byte> destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Memory<byte>`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.

## Serialize(T, Span&lt;byte&gt;) {#serialize-t-ref-system-span-byte-3de49d85}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-t-ref-system-span-byte-3de49d85/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(T value, ref Span<byte> destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Span<byte>`): The destination where serialized data will be written.

## Serialize(T, Span&lt;byte&gt;, SerializerSession) {#serialize-t-ref-system-span-byte-orleans-serialization-session-serializersession-4b99bf61}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-t-ref-system-span-byte-orleans-serialization-session-serializersession-4b99bf61/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize(T value, ref Span<byte> destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Span<byte>`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.

## Serialize(T, TBufferWriter) {#serialize-1-t-tbufferwriter-b67f57a4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-1-t-tbufferwriter-b67f57a4/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize<TBufferWriter>(T value, TBufferWriter destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`TBufferWriter`): The destination where serialized data will be written.

## Serialize(T, TBufferWriter, SerializerSession) {#serialize-1-t-tbufferwriter-orleans-serialization-session-serializersession-de28e102}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-1-t-tbufferwriter-orleans-serialization-session-serializersession-de28e102/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize<TBufferWriter>(T value, TBufferWriter destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`TBufferWriter`): The destination where serialized data will be written.
- `session` (`SerializerSession`): The serializer session.

## Serialize(T, Writer&lt;TBufferWriter&gt;) {#serialize-1-t-ref-orleans-serialization-buffers-writer-tbufferwriter-5811fdac}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serialize-1-t-ref-orleans-serialization-buffers-writer-tbufferwriter-5811fdac/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs)

```csharp
public void Serialize<TBufferWriter>(T value, ref Writer<TBufferWriter> destination)
```

Serializes the provided `value` into `destination`.

### Parameters

- `value` (`T`): The value to serialize.
- `destination` (`Writer<TBufferWriter>`): The destination where serialized data will be written.

## SerializeToArray(T) {#serializetoarray-t-d6f79852}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer-1/methods/serializetoarray-t-d6f79852/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializer.cs#L615-L627)

```csharp
public byte[] SerializeToArray(T value)
```

Serializes the provided `value` into a new array.

### Parameters

- `value` (`T`): The value to serialize.

### Returns

A byte array containing the serialized value.
