# Serializer Methods

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

## CanSerialize(Type) {#canserialize-system-type-3ca36ec9}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer/methods/canserialize-system-type-3ca36ec9/)

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

```csharp
public bool CanSerialize(Type type)
```

Returns `true` if the provided type, `type`, can be serialized, and `false` otherwise.

### Parameters

- `type` (`Type`)

## CanSerialize {#canserialize-1-f4e52d0f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer/methods/canserialize-1-f4e52d0f/)

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

```csharp
public bool CanSerialize<T>()
```

Returns `true` if the provided type, `T`, can be serialized, and `false` otherwise.

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

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

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

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

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

### Parameters

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

### Returns

The deserialized value.

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

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

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

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

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

### Parameters

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

### Returns

The deserialized value.

## Deserialize(ArcBuffer, SerializerSession) {#deserialize-1-orleans-serialization-buffers-arcbuffer-orleans-serialization-sess-5073ba0b}

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

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

```csharp
public T Deserialize<T>(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-1-system-arraysegment-byte-2f40ecf1}

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

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

```csharp
public T Deserialize<T>(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-1-system-arraysegment-byte-orleans-serialization-session-serializers-e70c7f65}

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

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

```csharp
public T Deserialize<T>(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-1-orleans-serialization-buffers-pooledbuffer-bufferslice-1122b725}

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

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

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

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

### Parameters

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

### Returns

The deserialized value.

## Deserialize(BufferSlice, SerializerSession) {#deserialize-1-orleans-serialization-buffers-pooledbuffer-bufferslice-orleans-ser-bf428a81}

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

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

```csharp
public T Deserialize<T>(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-1-system-readonlymemory-byte-63d0dea2}

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

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

```csharp
public T Deserialize<T>(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-1-system-readonlymemory-byte-orleans-serialization-session-serialize-ade1aee4}

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

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

```csharp
public T Deserialize<T>(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-1-system-buffers-readonlysequence-byte-0bbbd5ac}

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

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

```csharp
public T Deserialize<T>(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-1-system-buffers-readonlysequence-byte-orleans-serialization-session-3130942a}

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

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

```csharp
public T Deserialize<T>(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-1-system-readonlyspan-byte-2d88c29d}

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

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

```csharp
public T Deserialize<T>(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-1-system-readonlyspan-byte-orleans-serialization-session-serializers-e5588759}

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

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

```csharp
public T Deserialize<T>(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-1-system-io-stream-e25e3a63}

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

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

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

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

### Parameters

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

### Returns

The deserialized value.

## Deserialize(Stream, SerializerSession) {#deserialize-1-system-io-stream-orleans-serialization-session-serializersession-3a32fad3}

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

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

```csharp
public T Deserialize<T>(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-1-byte-array-1-8e7c3809}

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

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

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

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

### Parameters

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

### Returns

The deserialized value.

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

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

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

```csharp
public T Deserialize<T>(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.

## GetSerializer {#getserializer-1-1bcee395}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer/methods/getserializer-1-1bcee395/)

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

```csharp
public Serializer<T> GetSerializer<T>()
```

Returns a serializer which is specialized to the provided type parameter.

## Serialize(T, ArraySegment&lt;byte&gt;) {#serialize-1-t-system-arraysegment-byte-90ee0a53}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer/methods/serialize-1-t-system-arraysegment-byte-90ee0a53/)

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

```csharp
public int Serialize<T>(T value, ArraySegment<byte> destination)
```

Serializes the provided `value` into `destination`.

### Parameters

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

### Returns

The length of the serialized data.

## Serialize(T, ArraySegment&lt;byte&gt;, SerializerSession) {#serialize-1-t-system-arraysegment-byte-orleans-serialization-session-serializers-46a33463}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer/methods/serialize-1-t-system-arraysegment-byte-orleans-serialization-session-serializers-46a33463/)

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

```csharp
public int Serialize<T>(T value, ArraySegment<byte> destination, SerializerSession session)
```

Serializes the provided `value` into `destination`.

### Parameters

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

### Returns

The length of the serialized data.

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

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

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

```csharp
public int Serialize<T>(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-1-t-byte-array-1-orleans-serialization-session-serializersession-59248ceb}

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

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

```csharp
public int Serialize<T>(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, TBufferWriter) {#serialize-2-t-tbufferwriter-1dbe41d2}

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

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

```csharp
public void Serialize<T, 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-2-t-tbufferwriter-orleans-serialization-session-serializersession-ece31934}

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

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

```csharp
public void Serialize<T, 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-2-t-ref-orleans-serialization-buffers-writer-tbufferwriter-3ba26b0a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializer/methods/serialize-2-t-ref-orleans-serialization-buffers-writer-tbufferwriter-3ba26b0a/)

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

```csharp
public void Serialize<T, 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.

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

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

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

```csharp
public void Serialize<T>(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-1-t-system-io-stream-int-6d58d42c}

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

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

```csharp
public void Serialize<T>(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-1-t-ref-system-memory-byte-b00540b8}

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

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

```csharp
public void Serialize<T>(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-1-t-ref-system-memory-byte-orleans-serialization-session-serializerses-d2994f3e}

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

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

```csharp
public void Serialize<T>(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-1-t-ref-system-span-byte-fad28315}

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

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

```csharp
public void Serialize<T>(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-1-t-ref-system-span-byte-orleans-serialization-session-serializersessi-13132091}

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

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

```csharp
public void Serialize<T>(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.

## SerializeToArray(T) {#serializetoarray-1-t-e968af5a}

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

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

```csharp
public byte[] SerializeToArray<T>(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.
