#### [Abblix\.Oidc\.Server](https://www.abblix.com/en/docs/api/abblix-oidc-server 'index')
### [Abblix\.Oidc\.Server\.Common\.Interfaces](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces 'Abblix\.Oidc\.Server\.Common\.Interfaces')

## IBinarySerializer Interface

Defines the contract for a binary serializer that supports serialization and deserialization of objects
to and from binary format\.

```csharp
public interface IBinarySerializer
```

Derived  
↳ [JsonBinarySerializer](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Implementation.JsonBinarySerializer 'Abblix\.Oidc\.Server\.Common\.Implementation\.JsonBinarySerializer')  
↳ [CompositeBinarySerializer](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Storages.CompositeBinarySerializer 'Abblix\.Oidc\.Server\.Features\.Storages\.CompositeBinarySerializer')  
↳ [ProtobufSerializer](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Features.Storages.ProtobufSerializer 'Abblix\.Oidc\.Server\.Features\.Storages\.ProtobufSerializer')
### Methods

## IBinarySerializer\.Deserialize\<T\>\(byte\[\]\) Method {#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Deserialize_T_(byte[])}

Deserializes a binary array to an object of type [T](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Deserialize_T_(byte[]).T 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IBinarySerializer\.Deserialize\<T\>\(byte\[\]\)\.T')\.

```csharp
T? Deserialize<T>(byte[] bytes);
```
#### Type parameters

###### `T` {#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Deserialize_T_(byte[]).T}

The type of the object to deserialize to\.
#### Parameters

###### `bytes` [System\.Byte](https://learn.microsoft.com/en-us/dotnet/api/system.byte 'System\.Byte')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') {#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Deserialize_T_(byte[]).bytes}

The binary array to deserialize from\.

#### Returns
[T](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Deserialize_T_(byte[]).T 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IBinarySerializer\.Deserialize\<T\>\(byte\[\]\)\.T')  
The deserialized object of type [T](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Deserialize_T_(byte[]).T 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IBinarySerializer\.Deserialize\<T\>\(byte\[\]\)\.T')\.

## IBinarySerializer\.Serialize\<T\>\(T\) Method {#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Serialize_T_(T)}

Serializes an object of type [T](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Serialize_T_(T).T 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IBinarySerializer\.Serialize\<T\>\(T\)\.T') to a binary array\.

```csharp
byte[] Serialize<T>(T obj);
```
#### Type parameters

###### `T` {#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Serialize_T_(T).T}

The type of the object to serialize\.
#### Parameters

###### `obj` [T](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Serialize_T_(T).T 'Abblix\.Oidc\.Server\.Common\.Interfaces\.IBinarySerializer\.Serialize\<T\>\(T\)\.T') {#Abblix.Oidc.Server.Common.Interfaces.IBinarySerializer.Serialize_T_(T).obj}

The object to serialize\.

#### Returns
[System\.Byte](https://learn.microsoft.com/en-us/dotnet/api/system.byte 'System\.Byte')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array')  
A binary array representing the serialized object\.
