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

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

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

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

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

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

### Parameters

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