# DotNetSerializableCodec.WriteField(Writer&lt;TBufferWriter&gt;, uint, Type, object?)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.dotnetserializablecodec/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.dotnetserializablecodec/methods/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Serialization/ISerializableSerializer/DotNetSerializableCodec.cs#L64-L82)

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

Writes a field using the provided untyped value. The type must still match the codec instance!

### Parameters

- `writer` (`Writer<TBufferWriter>`)
- `fieldIdDelta` (`uint`)
- `expectedType` (`Type`)
- `value` (`object?`)
