# ImmutableArrayCodec&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.immutablearraycodec-1/)

## ConvertFromSurrogate(ImmutableArraySurrogate&lt;T&gt;) {#convertfromsurrogate-ref-orleans-serialization-codecs-immutablearraysurrogate-t-e5cf9efc}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.immutablearraycodec-1/methods/convertfromsurrogate-ref-orleans-serialization-codecs-immutablearraysurrogate-t-e5cf9efc/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Codecs/ImmutableArrayCodec.cs#L27)

```csharp
public override ImmutableArray<T> ConvertFromSurrogate(ref ImmutableArraySurrogate<T> surrogate)
```

Converts a value from the surrogate type to the field type.

### Parameters

- `surrogate` (`ImmutableArraySurrogate<T>`): The surrogate.

### Returns

The value.

## ConvertToSurrogate(ImmutableArray&lt;T&gt;, ImmutableArraySurrogate&lt;T&gt;) {#converttosurrogate-system-collections-immutable-immutablearray-t-ref-orleans-ser-166cdfea}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.serialization/orleans.serialization.codecs.immutablearraycodec-1/methods/converttosurrogate-system-collections-immutable-immutablearray-t-ref-orleans-ser-166cdfea/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Serialization/Codecs/ImmutableArrayCodec.cs#L31)

```csharp
public override void ConvertToSurrogate(ImmutableArray<T> value, ref ImmutableArraySurrogate<T> surrogate)
```

Converts a value to the surrogate type.

### Parameters

- `value` (`ImmutableArray<T>`): The value.
- `surrogate` (`ImmutableArraySurrogate<T>`): The surrogate.
