#### [Abblix\.SecurityEvents](https://www.abblix.com/en/docs/api/abblix-securityevents 'index')
### [Abblix\.SecurityEvents\.Subjects](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects 'Abblix\.SecurityEvents\.Subjects')

## AliasesSubject Class

Identifies a subject by several Subject Identifiers at once, each naming the same entity
\(RFC 9493 Section 3\.2\.8\)\. It is meant for the case where a transmitter has shared a variety of
identifiers with a receiver and does not know which of them the receiver will recognise\.

```csharp
public sealed class AliasesSubject : Abblix.SecurityEvents.Subjects.SubjectIdentifier
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → [SubjectIdentifier](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects.SubjectIdentifier 'Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier') → AliasesSubject

### Remarks
Presenting several identifiers together tells the receiver that they belong to one subject,
which is information in its own right\. RFC 9493 Section 6\.1 asks a transmitter to send them
together only where the receiver already knows they are related, or where the correlation is
what the use case is about\.
### Constructors

## AliasesSubject\(SubjectIdentifier\[\]\) Constructor {#Abblix.SecurityEvents.Subjects.AliasesSubject.AliasesSubject(Abblix.SecurityEvents.Subjects.SubjectIdentifier[])}

Creates an Aliases Subject Identifier from the identifiers given\.

```csharp
public AliasesSubject(params Abblix.SecurityEvents.Subjects.SubjectIdentifier[] identifiers);
```
#### Parameters

###### `identifiers` [SubjectIdentifier](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects.SubjectIdentifier 'Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier')[\[\]](https://learn.microsoft.com/en-us/dotnet/api/system.array 'System\.Array') {#Abblix.SecurityEvents.Subjects.AliasesSubject.AliasesSubject(Abblix.SecurityEvents.Subjects.SubjectIdentifier[]).identifiers}

The Subject Identifiers naming the subject, under the same conditions as the primary
constructor\.

## AliasesSubject\(IReadOnlyList\<SubjectIdentifier\>\) Constructor {#Abblix.SecurityEvents.Subjects.AliasesSubject.AliasesSubject(System.Collections.Generic.IReadOnlyList_Abblix.SecurityEvents.Subjects.SubjectIdentifier_)}

Creates an Aliases Subject Identifier\.

```csharp
public AliasesSubject(System.Collections.Generic.IReadOnlyList<Abblix.SecurityEvents.Subjects.SubjectIdentifier> identifiers);
```
#### Parameters

###### `identifiers` [System\.Collections\.Generic\.IReadOnlyList&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')[SubjectIdentifier](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects.SubjectIdentifier 'Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1') {#Abblix.SecurityEvents.Subjects.AliasesSubject.AliasesSubject(System.Collections.Generic.IReadOnlyList_Abblix.SecurityEvents.Subjects.SubjectIdentifier_).identifiers}

The Subject Identifiers naming the subject\. REQUIRED, must hold at least one entry, and
must hold no Aliases Subject Identifier of its own\.

#### Exceptions

[System\.ArgumentNullException](https://learn.microsoft.com/en-us/dotnet/api/system.argumentnullexception 'System\.ArgumentNullException')  
[identifiers](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects.AliasesSubject#Abblix.SecurityEvents.Subjects.AliasesSubject.AliasesSubject(System.Collections.Generic.IReadOnlyList_Abblix.SecurityEvents.Subjects.SubjectIdentifier_).identifiers 'Abblix\.SecurityEvents\.Subjects\.AliasesSubject\.AliasesSubject\(System\.Collections\.Generic\.IReadOnlyList\<Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier\>\)\.identifiers') is null\.

[System\.ArgumentException](https://learn.microsoft.com/en-us/dotnet/api/system.argumentexception 'System\.ArgumentException')  
[identifiers](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects.AliasesSubject#Abblix.SecurityEvents.Subjects.AliasesSubject.AliasesSubject(System.Collections.Generic.IReadOnlyList_Abblix.SecurityEvents.Subjects.SubjectIdentifier_).identifiers 'Abblix\.SecurityEvents\.Subjects\.AliasesSubject\.AliasesSubject\(System\.Collections\.Generic\.IReadOnlyList\<Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier\>\)\.identifiers') is empty, holds a null entry, or holds a nested
            [AliasesSubject](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects.AliasesSubject 'Abblix\.SecurityEvents\.Subjects\.AliasesSubject')\.
### Properties

## AliasesSubject\.Identifiers Property {#Abblix.SecurityEvents.Subjects.AliasesSubject.Identifiers}

The Subject Identifiers naming the subject, each identifying the same entity\.

```csharp
public System.Collections.Generic.IReadOnlyList<Abblix.SecurityEvents.Subjects.SubjectIdentifier> Identifiers { get; }
```

#### Property Value
[System\.Collections\.Generic\.IReadOnlyList&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')[SubjectIdentifier](https://www.abblix.com/en/docs/api/abblix-securityevents/Abblix.SecurityEvents.Subjects.SubjectIdentifier 'Abblix\.SecurityEvents\.Subjects\.SubjectIdentifier')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.ireadonlylist-1 'System\.Collections\.Generic\.IReadOnlyList\`1')

### Remarks
The same Identifier Format may appear more than once, which is how a subject with two email
addresses is expressed\. RFC 9493 Section 3\.2\.8 says exact duplicates SHOULD NOT appear;
that is a SHOULD NOT rather than a MUST NOT, so a duplicate is left to the caller and never
silently dropped here\.
