# FSharpChoiceCopier&lt;T1, T2, T3, T4&gt; Constructors

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/orleans.serialization.fsharpchoicecopier-4/)

## FSharpChoiceCopier&lt;T1, T2, T3, T4&gt;(IDeepCopier&lt;T1&gt;, IDeepCopier&lt;T2&gt;, IDeepCopier&lt;T3&gt;, IDeepCopier&lt;T4&gt;) {#constructor-orleans-serialization-cloning-ideepcopier-t1-orleans-serialization-c-9b47cf69}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/orleans.serialization.fsharpchoicecopier-4/constructors/constructor-orleans-serialization-cloning-ideepcopier-t1-orleans-serialization-c-9b47cf69/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.FSharp/FSharpCodecs.cs#L555-L565)

```csharp
public FSharpChoiceCopier<T1, T2, T3, FSharpChoiceCopier(IDeepCopier<T1> copier1, IDeepCopier<T2> copier2, IDeepCopier<T3> copier3, IDeepCopier<T4> copier4)
```

### Parameters

- `copier1` (`IDeepCopier<T1>`)
- `copier2` (`IDeepCopier<T2>`)
- `copier3` (`IDeepCopier<T3>`)
- `copier4` (`IDeepCopier<T4>`)
