# GeneratedContext Methods

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

## CreateCodecHolder(ICodecProvider) {#createcodecholder-1-orleans-serialization-serializers-icodecprovider-396d7d14}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.generatedcontext/methods/createcodecholder-1-orleans-serialization-serializers-icodecprovider-396d7d14/)

[Source](https://github.com/dotnet/orleans/blob/997f2589e814db85c6a451b59c081c88e50b8944/src/Orleans.Serialization/GeneratedContext.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-38173d76}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.generatedcontext/methods/createcopierholder-1-orleans-serialization-serializers-icodecprovider-38173d76/)

[Source](https://github.com/dotnet/orleans/blob/997f2589e814db85c6a451b59c081c88e50b8944/src/Orleans.Serialization/GeneratedContext.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.
