# SerializerContext Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializercontext/)

## CreateCodecHolder(ICodecProvider) {#createcodecholder-1-orleans-serialization-serializers-icodecprovider-40c8a063}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializercontext/methods/createcodecholder-1-orleans-serialization-serializers-icodecprovider-40c8a063/)

[Source](https://github.com/dotnet/orleans/blob/42682376d80e1176a952ba13aa2de25a307b576e/src/Orleans.Serialization/SerializerContext.cs#L28)

```csharp
protected static IFieldCodec<T> CreateCodecHolder<T>(ICodecProvider provider)
```

Creates a statically closed holder which resolves a recursive codec dependency during construction.

### Parameters

- `provider` (`ICodecProvider`): The codec provider.

### Returns

A holder for the registered codec.

## CreateCopierHolder(ICodecProvider) {#createcopierholder-1-orleans-serialization-serializers-icodecprovider-43ee9b9f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.serializercontext/methods/createcopierholder-1-orleans-serialization-serializers-icodecprovider-43ee9b9f/)

[Source](https://github.com/dotnet/orleans/blob/42682376d80e1176a952ba13aa2de25a307b576e/src/Orleans.Serialization/SerializerContext.cs#L37)

```csharp
protected static IDeepCopier<T> CreateCopierHolder<T>(ICodecProvider provider)
```

Creates a statically closed holder which resolves a recursive copier dependency on first use.

### Parameters

- `provider` (`ICodecProvider`): The codec provider.

### Returns

A holder for the registered copier.
