# ImmutableDictionaryCopier&lt;TKey, TValue&gt; Methods

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

## DeepCopy(ImmutableDictionary&lt;TKey, TValue&gt;, CopyContext) {#deepcopy-system-collections-immutable-immutabledictionary-tkey-tvalue-orleans-se-4e6bb921}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.immutabledictionarycopier-2/methods/deepcopy-system-collections-immutable-immutabledictionary-tkey-tvalue-orleans-se-4e6bb921/)

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

```csharp
public ImmutableDictionary<TKey, TValue> ImmutableDictionaryCopier<TKey, DeepCopy(ImmutableDictionary<TKey, TValue> input, CopyContext context)
```

Creates a deep copy of the provided input.

### Parameters

- `input` (`ImmutableDictionary<TKey, TValue>`): The input.
- `context` (`CopyContext`): The context.

### Returns

A copy of `input`.

## IsShallowCopyable {#isshallowcopyable-5647edbe}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.immutabledictionarycopier-2/methods/isshallowcopyable-5647edbe/)

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

```csharp
public bool ImmutableDictionaryCopier<TKey, IsShallowCopyable()
```

Returns true if the type is shallow-copyable.
