# TupleCopier&lt;T1, T2, T3&gt; Methods

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

## DeepCopy(Tuple&lt;T1, T2, T3&gt;, CopyContext) {#deepcopy-system-tuple-t1-t2-t3-orleans-serialization-cloning-copycontext-3fb81b65}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.tuplecopier-3/methods/deepcopy-system-tuple-t1-t2-t3-orleans-serialization-cloning-copycontext-3fb81b65/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Codecs/TupleCodec.cs#L389-L407)

```csharp
public Tuple<T1, T2, T3> TupleCopier<T1, T2, DeepCopy(Tuple<T1, T2, T3> input, CopyContext context)
```

Creates a deep copy of the provided input.

### Parameters

- `input` (`Tuple<T1, T2, T3>`): The input.
- `context` (`CopyContext`): The context.

### Returns

A copy of `input`.

## IsShallowCopyable {#isshallowcopyable-be81098a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.tuplecopier-3/methods/isshallowcopyable-be81098a/)

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

```csharp
public bool TupleCopier<T1, T2, IsShallowCopyable()
```

Returns true if the type is shallow-copyable.
