# FSharpRefCodec&lt;T&gt;

Package: [Microsoft.Orleans.Serialization.FSharp](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Serialization.FSharp) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization.FSharp/FSharpCodecs.cs#L864)

```csharp
public class FSharpRefCodec<T> : GeneralizedReferenceTypeSurrogateCodec<FSharpRef<T>, FSharpRefSurrogate<T>>
```

Surrogate serializer for `TField` and all sub-types.

## Type parameters

- `T`: The type which the implementation of this class supports.

## Constructors

- [FSharpRefCodec&lt;T&gt;(IValueSerializer&lt;FSharpRefSurrogate&lt;T&gt;&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/orleans.serialization.fsharprefcodec-1/constructors/constructor-orleans-serialization-serializers-ivalueserializer-orleans-serializa-a8df7860/)

## Methods

- [ConvertFromSurrogate(FSharpRefSurrogate&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/orleans.serialization.fsharprefcodec-1/methods/convertfromsurrogate-ref-orleans-serialization-fsharprefsurrogate-t-154d1fc4/)
- [ConvertToSurrogate(FSharpRef&lt;T&gt;, FSharpRefSurrogate&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.serialization.fsharp/orleans.serialization.fsharprefcodec-1/methods/converttosurrogate-microsoft-fsharp-core-fsharpref-t-ref-orleans-serialization-f-5acf85f6/)
