# ValueTupleCopier&lt;T1, T2, T3, T4, T5, T6, T7&gt; Methods

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

## DeepCopy((T1, T2, T3, T4, T5, T6, T7), CopyContext) {#deepcopy-t1-t2-t3-t4-t5-t6-t7-orleans-serialization-cloning-copycontext-ec2869d2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.valuetuplecopier-7/methods/deepcopy-t1-t2-t3-t4-t5-t6-t7-orleans-serialization-cloning-copycontext-ec2869d2/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Codecs/ValueTupleCodec.cs#L1004-L1011)

```csharp
public (T1, T2, T3, T4, T5, T6, T7) ValueTupleCopier<T1, T2, T3, T4, T5, T6, T7>.DeepCopy((T1, T2, T3, T4, T5, T6, T7) input, CopyContext context)
```

Creates a deep copy of the provided input.

### Parameters

- `input` (`(T1, T2, T3, T4, T5, T6, T7)`): The input.
- `context` (`CopyContext`): The context.

### Returns

A copy of `input`.

## IsShallowCopyable {#isshallowcopyable-e2ec9365}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.valuetuplecopier-7/methods/isshallowcopyable-e2ec9365/)

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

```csharp
public bool ValueTupleCopier<T1, T2, T3, T4, T5, T6, IsShallowCopyable()
```

Returns true if the type is shallow-copyable.
