# ImmutableDictionaryCodec&lt;TKey, TValue&gt; Constructors

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.immutabledictionarycodec-2/)

## ImmutableDictionaryCodec&lt;TKey, TValue&gt;(IValueSerializer&lt;ImmutableDictionarySurrogate&lt;TKey, TValue&gt;&gt;) {#constructor-orleans-serialization-serializers-ivalueserializer-orleans-serializa-83daa47f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.immutabledictionarycodec-2/constructors/constructor-orleans-serialization-serializers-ivalueserializer-orleans-serializa-83daa47f/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Codecs/ImmutableDictionaryCodec.cs#L22-L24)

```csharp
public ImmutableDictionaryCodec<TKey, ImmutableDictionaryCodec(IValueSerializer<ImmutableDictionarySurrogate<TKey, TValue>> surrogateSerializer)
```

Initializes a new instance of the `Orleans.Serialization.Codecs.ImmutableDictionaryCodec-2` class.

### Parameters

- `surrogateSerializer` (`IValueSerializer<ImmutableDictionarySurrogate<TKey, TValue>>`): The surrogate serializer.
