# Codec_Immutable&lt;T&gt;

Package: [Microsoft.Orleans.Core.Abstractions](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core.Abstractions)

```csharp
public sealed class Codec_Immutable<T> : IFieldCodec, IFieldCodec<Immutable<T>>, IValueSerializer, IValueSerializer<Immutable<T>>
```

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

## Constructors

- [Codec_Immutable&lt;T&gt;(ICodecProvider)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.concurrency.codec-immutable-1/constructors/constructor-orleans-serialization-serializers-icodecprovider-e3a29a9a/)

## Methods

- [Deserialize(Reader&lt;TReaderInput&gt;, Immutable&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.concurrency.codec-immutable-1/methods/deserialize-1-ref-orleans-serialization-buffers-reader-treaderinput-ref-orleans-7ff842ce/)
- [ReadValue(Reader&lt;TReaderInput&gt;, Field)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.concurrency.codec-immutable-1/methods/readvalue-1-ref-orleans-serialization-buffers-reader-treaderinput-orleans-serial-1fd20fc6/)
- [Serialize(Writer&lt;TBufferWriter&gt;, Immutable&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.concurrency.codec-immutable-1/methods/serialize-1-ref-orleans-serialization-buffers-writer-tbufferwriter-ref-orleans-c-0e837b17/)
- [WriteField(Writer&lt;TBufferWriter&gt;, uint, Type, Immutable&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleanscodegen.orleans.concurrency.codec-immutable-1/methods/writefield-1-ref-orleans-serialization-buffers-writer-tbufferwriter-uint-system-30043698/)
