# FSharpChoiceCodec&lt;T1, T2, T3, T4, T5, T6&gt; Constructors

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

## FSharpChoiceCodec&lt;T1, T2, T3, T4, T5, T6&gt;(IFieldCodec&lt;T1&gt;, IFieldCodec&lt;T2&gt;, IFieldCodec&lt;T3&gt;, IFieldCodec&lt;T4&gt;, IFieldCodec&lt;T5&gt;, IFieldCodec&lt;T6&gt;) {#constructor-orleans-serialization-codecs-ifieldcodec-t1-orleans-serialization-co-cfc1858a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/orleans.serialization.fsharpchoicecodec-6/constructors/constructor-orleans-serialization-codecs-ifieldcodec-t1-orleans-serialization-co-cfc1858a/)

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

```csharp
public FSharpChoiceCodec<T1, T2, T3, T4, T5, FSharpChoiceCodec(IFieldCodec<T1> item1Codec, IFieldCodec<T2> item2Codec, IFieldCodec<T3> item3Codec, IFieldCodec<T4> item4Codec, IFieldCodec<T5> item5Codec, IFieldCodec<T6> item6Codec)
```

### Parameters

- `item1Codec` (`IFieldCodec<T1>`)
- `item2Codec` (`IFieldCodec<T2>`)
- `item3Codec` (`IFieldCodec<T3>`)
- `item4Codec` (`IFieldCodec<T4>`)
- `item5Codec` (`IFieldCodec<T5>`)
- `item6Codec` (`IFieldCodec<T6>`)
