# Copier_GrainData Methods

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

## DeepCopy(GrainData, CopyContext) {#deepcopy-orleans-transactions-testkit-graindata-orleans-serialization-cloning-co-e105467c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleanscodegen.orleans.transactions.testkit.copier-graindata/methods/deepcopy-orleans-transactions-testkit-graindata-orleans-serialization-cloning-co-e105467c/)

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

Creates a deep copy of the provided input.

### Parameters

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

### Returns

A copy of `input`.

## DeepCopy(GrainData, GrainData, CopyContext) {#deepcopy-orleans-transactions-testkit-graindata-orleans-transactions-testkit-gra-1af66eec}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions.testkit.base/orleanscodegen.orleans.transactions.testkit.copier-graindata/methods/deepcopy-orleans-transactions-testkit-graindata-orleans-transactions-testkit-gra-1af66eec/)

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

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

### Parameters

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