# Writer Methods

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

## Create(ArcBufferWriter, SerializerSession) {#create-orleans-serialization-buffers-arcbufferwriter-orleans-serialization-sessi-50ffcd76}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/create-orleans-serialization-buffers-arcbufferwriter-orleans-serialization-sessi-50ffcd76/)

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

```csharp
public static Writer<ArcBufferWriterWrapper> Create(ArcBufferWriter destination, SerializerSession session)
```

Creates a writer which writes to the specified destination.

### Parameters

- `destination` (`ArcBufferWriter`): The destination.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.

## Create(Stream, SerializerSession, int) {#create-system-io-stream-orleans-serialization-session-serializersession-int-29a3228d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/create-system-io-stream-orleans-serialization-session-serializersession-int-29a3228d/)

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

```csharp
public static Writer<ArrayStreamBufferWriter> Create(Stream destination, SerializerSession session, int sizeHint = 0)
```

Creates a writer which writes to the specified destination.

### Parameters

- `destination` (`Stream`): The destination.
- `session` (`SerializerSession`): The session.
- `sizeHint` (`int`): The size hint.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.

## Create(Memory&lt;byte&gt;, SerializerSession) {#create-system-memory-byte-orleans-serialization-session-serializersession-245c077d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/create-system-memory-byte-orleans-serialization-session-serializersession-245c077d/)

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

```csharp
public static Writer<MemoryBufferWriter> Create(Memory<byte> output, SerializerSession session)
```

Creates a writer which writes to the specified destination.

### Parameters

- `output` (`Memory<byte>`): The destination.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.

## Create(MemoryStream, SerializerSession) {#create-system-io-memorystream-orleans-serialization-session-serializersession-f4bcdf72}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/create-system-io-memorystream-orleans-serialization-session-serializersession-f4bcdf72/)

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

```csharp
public static Writer<MemoryStreamBufferWriter> Create(MemoryStream destination, SerializerSession session)
```

Creates a writer which writes to the specified destination.

### Parameters

- `destination` (`MemoryStream`): The destination.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.

## Create(Span&lt;byte&gt;, SerializerSession) {#create-system-span-byte-orleans-serialization-session-serializersession-6dd92359}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/create-system-span-byte-orleans-serialization-session-serializersession-6dd92359/)

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

```csharp
public static Writer<SpanBufferWriter> Create(Span<byte> output, SerializerSession session)
```

Creates a writer which writes to the specified destination.

### Parameters

- `output` (`Span<byte>`): The destination.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.

## Create(byte[], SerializerSession) {#create-byte-array-1-orleans-serialization-session-serializersession-41ebedc3}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/create-byte-array-1-orleans-serialization-session-serializersession-41ebedc3/)

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

```csharp
public static Writer<SpanBufferWriter> Create(byte[] output, SerializerSession session)
```

Creates a writer which writes to the specified destination.

### Parameters

- `output` (`byte[]`): The destination.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.

## Create(TBufferWriter, SerializerSession) {#create-1-tbufferwriter-orleans-serialization-session-serializersession-2393f5b4}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/create-1-tbufferwriter-orleans-serialization-session-serializersession-2393f5b4/)

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

```csharp
public static Writer<TBufferWriter> Create<TBufferWriter>(TBufferWriter destination, SerializerSession session)
```

Creates a writer which writes to the specified destination.

### Parameters

- `destination` (`TBufferWriter`): The destination.
- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.

## CreatePooled(SerializerSession) {#createpooled-orleans-serialization-session-serializersession-005da993}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/createpooled-orleans-serialization-session-serializersession-005da993/)

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

```csharp
public static Writer<PooledBuffer> CreatePooled(SerializerSession session)
```

Creates a writer which writes to a pooled buffer.

### Parameters

- `session` (`SerializerSession`): The session.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.

## CreatePooled(Stream, SerializerSession, int) {#createpooled-system-io-stream-orleans-serialization-session-serializersession-in-85141893}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.writer/methods/createpooled-system-io-stream-orleans-serialization-session-serializersession-in-85141893/)

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

```csharp
public static Writer<PoolingStreamBufferWriter> CreatePooled(Stream destination, SerializerSession session, int sizeHint = 0)
```

Creates a writer which writes to the specified destination.

### Parameters

- `destination` (`Stream`): The destination.
- `session` (`SerializerSession`): The session.
- `sizeHint` (`int`): The size hint.

### Returns

A new `Orleans.Serialization.Buffers.Writer-1`.
