# Codec_AllVersionsCompatible Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.versions.compatibility.codec-allversionscompatible/)

## Deserialize(Reader&lt;TReaderInput&gt;, AllVersionsCompatible) {#deserialize-1-ref-orleans-serialization-buffers-reader-treaderinput-orleans-vers-14764cbf}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.versions.compatibility.codec-allversionscompatible/methods/deserialize-1-ref-orleans-serialization-buffers-reader-treaderinput-orleans-vers-14764cbf/)

```csharp
public void Deserialize<TReaderInput>(ref Reader<TReaderInput> reader, AllVersionsCompatible instance)
```

### Parameters

- `reader` (`Reader<TReaderInput>`)
- `instance` (`AllVersionsCompatible`)

## ReadValue(Reader&lt;TReaderInput&gt;, Field) {#readvalue-1-ref-orleans-serialization-buffers-reader-treaderinput-orleans-serial-725c5088}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.versions.compatibility.codec-allversionscompatible/methods/readvalue-1-ref-orleans-serialization-buffers-reader-treaderinput-orleans-serial-725c5088/)

```csharp
public AllVersionsCompatible ReadValue<TReaderInput>(ref Reader<TReaderInput> reader, Field field)
```

Reads a value.

### Parameters

- `reader` (`Reader<TReaderInput>`): The reader.
- `field` (`Field`): The field.

### Returns

The value.

## Serialize(Writer&lt;TBufferWriter&gt;, AllVersionsCompatible) {#serialize-1-ref-orleans-serialization-buffers-writer-tbufferwriter-orleans-versi-0577681e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.versions.compatibility.codec-allversionscompatible/methods/serialize-1-ref-orleans-serialization-buffers-writer-tbufferwriter-orleans-versi-0577681e/)

```csharp
public void Serialize<TBufferWriter>(ref Writer<TBufferWriter> writer, AllVersionsCompatible instance)
```

### Parameters

- `writer` (`Writer<TBufferWriter>`)
- `instance` (`AllVersionsCompatible`)

## WriteField(Writer&lt;TBufferWriter&gt;, uint, Type, AllVersionsCompatible) {#writefield-1-ref-orleans-serialization-buffers-writer-tbufferwriter-uint-system-5eb7c012}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.versions.compatibility.codec-allversionscompatible/methods/writefield-1-ref-orleans-serialization-buffers-writer-tbufferwriter-uint-system-5eb7c012/)

```csharp
public void WriteField<TBufferWriter>(ref Writer<TBufferWriter> writer, uint fieldIdDelta, Type expectedType, AllVersionsCompatible value)
```

Writes a field.

### Parameters

- `writer` (`Writer<TBufferWriter>`): The writer.
- `fieldIdDelta` (`uint`): The field identifier delta.
- `expectedType` (`Type`): The expected type.
- `value` (`AllVersionsCompatible`): The value.
