# IBaseCodec&lt;T&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/Serializers/IBaseCodec.cs#L11)

```csharp
public interface IBaseCodec<T> : IBaseCodec
    where T : class
```

Functionality for serializing and deserializing members in a type hierarchy.

## Type parameters

- `T`: The type supported by this codec.

## Methods

- [Deserialize(Reader&lt;TInput&gt;, T)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializers.ibasecodec-1/methods/deserialize-1-ref-orleans-serialization-buffers-reader-tinput-t-6dcf11b4/)
- [Serialize(Writer&lt;TBufferWriter&gt;, T)](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializers.ibasecodec-1/methods/serialize-1-ref-orleans-serialization-buffers-writer-tbufferwriter-t-fc6cf889/)
