# Reader&lt;TInput&gt;

Package: [Microsoft.Orleans.Serialization](/orleans/docs/api/csharp/microsoft.orleans.serialization/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Serialization) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Buffers/Reader.cs#L281)

```csharp
public struct Reader<TInput>
```

Provides functionality for parsing data from binary input.

## Type parameters

- `TInput`: The underlying buffer reader type.

## Properties

- [Length](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/properties/length-e6449553/)
- [Position](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/properties/position-d832a678/)
- [Session](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/properties/session-a01820e9/)

## Methods

- [ForkFrom(long, Reader&lt;TInput&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/forkfrom-long-out-orleans-serialization-buffers-reader-tinput-bce976d3/)
- [PeekByte](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/peekbyte-c69b5559/)
- [ReadByte](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readbyte-c7180b1e/)
- [ReadBytes(uint)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readbytes-uint-55963068/)
- [ReadBytes(Span&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readbytes-system-span-byte-6cb27ef1/)
- [ReadBytes(TBufferWriter, int)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readbytes-1-ref-tbufferwriter-int-1e9e72d5/)
- [ReadInt32](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readint32-fa87a6bf/)
- [ReadInt64](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readint64-843294f5/)
- [ReadUInt32](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readuint32-e4fe3033/)
- [ReadUInt64](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readuint64-cbcee37d/)
- [ReadVarUInt32](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readvaruint32-bb49f30c/)
- [ReadVarUInt64](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/readvaruint64-9c361d24/)
- [ResumeFrom(long)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/resumefrom-long-5a228258/)
- [Skip(long)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/skip-long-9be569dc/)
- [TryReadBytes(int, ReadOnlySpan&lt;byte&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.buffers.reader-1/methods/tryreadbytes-int-out-system-readonlyspan-byte-ed193280/)
