# ReadOnlyDictionaryCopier&lt;TKey, TValue&gt;.DeepCopy(ReadOnlyDictionary&lt;TKey, TValue&gt;, CopyContext)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.readonlydictionarycopier-2/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.readonlydictionarycopier-2/methods/)

[Source](https://github.com/dotnet/orleans/blob/1644940b035c7bdf215a4fd7135757c06bcfe9ec/src/Orleans.Serialization/Codecs/ReadOnlyDictionaryCodec.cs#L74-L99)

```csharp
public ReadOnlyDictionary<TKey, TValue>? ReadOnlyDictionaryCopier<TKey, DeepCopy(ReadOnlyDictionary<TKey, TValue>? input, CopyContext context)
```

Creates a deep copy of the provided input.

### Parameters

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

### Returns

A copy of `input`, or `null` if `input` is `null`.
