# ValueSerializer&lt;TField, TValueSerializer&gt;.WriteField(Writer&lt;TBufferWriter&gt;, uint, Type, TField)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializers.valueserializer-2/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializers.valueserializer-2/methods/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Serializers/ValueSerializer.cs#L31-L35)

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

Writes a field.

### Parameters

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