# Copier_State Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleanscodegen.orleans.transactions.testkit.consistency.consistencytestgrain.copier-state/)

## DeepCopy(State, CopyContext) {#deepcopy-orleans-transactions-testkit-consistency-consistencytestgrain-state-orl-3ffad906}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleanscodegen.orleans.transactions.testkit.consistency.consistencytestgrain.copier-state/methods/deepcopy-orleans-transactions-testkit-consistency-consistencytestgrain-state-orl-3ffad906/)

```csharp
public State DeepCopy(State original, CopyContext context)
```

Creates a deep copy of the provided input.

### Parameters

- `original` (`State`): The input.
- `context` (`CopyContext`): The context.

### Returns

A copy of `input`.

## DeepCopy(State, State, CopyContext) {#deepcopy-orleans-transactions-testkit-consistency-consistencytestgrain-state-orl-e1cf3e2e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleanscodegen.orleans.transactions.testkit.consistency.consistencytestgrain.copier-state/methods/deepcopy-orleans-transactions-testkit-consistency-consistencytestgrain-state-orl-e1cf3e2e/)

```csharp
public void DeepCopy(State input, State output, CopyContext context)
```

Clones members from `input` and copies them to `output`.

### Parameters

- `input` (`State`): The input.
- `output` (`State`): The output.
- `context` (`CopyContext`): The context.
