Class MessageHeaderCollection
A modifiable collection of message headers.
Implements
Inherited Members
Namespace: Silverback.Messaging.Messages
Assembly: Silverback.Integration.dll
Syntax
public class MessageHeaderCollection : IReadOnlyList<MessageHeader>, IReadOnlyCollection<MessageHeader>, IEnumerable<MessageHeader>, IEnumerable
Constructors
| Improve this doc View sourceMessageHeaderCollection(IReadOnlyCollection<MessageHeader>?)
Initializes a new instance of the MessageHeaderCollection class.
Declaration
public MessageHeaderCollection(IReadOnlyCollection<MessageHeader>? headers)
Parameters
| Type | Name | Description |
|---|---|---|
| IReadOnlyCollection<MessageHeader> | headers | The headers to be added to the collection. |
MessageHeaderCollection(int)
Initializes a new instance of the MessageHeaderCollection class.
Declaration
public MessageHeaderCollection(int capacity = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int | capacity | The initial capacity of the backing List<T>. |
Properties
| Improve this doc View sourceCount
Gets the number of elements in the collection.
Declaration
public int Count { get; }
Property Value
| Type | Description |
|---|---|
| int | The number of elements in the collection. |
this[int]
Gets the header at the specified index in the collection.
Declaration
public MessageHeader this[int index] { get; }
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The index in the collection. |
Property Value
| Type | Description |
|---|---|
| MessageHeader |
this[string]
Gets or sets the value of the header with the specified name.
Declaration
public string? this[string name] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The header name. |
Property Value
| Type | Description |
|---|---|
| string |
Methods
| Improve this doc View sourceAdd(MessageHeader)
Adds a new header.
Declaration
public void Add(MessageHeader header)
Parameters
| Type | Name | Description |
|---|---|---|
| MessageHeader | header | The header to be added. |
Add(string, object)
Adds a new header.
Declaration
public void Add(string name, object value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The header name. |
| object | value | The header value. |
Add(string, string?)
Adds a new header.
Declaration
public void Add(string name, string? value)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The header name. |
| string | value | The header value. |
AddIfNotExists(string, string?)
Adds a new header if no header with the same name is already set.
Declaration
public void AddIfNotExists(string name, string? newValue)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The header name. |
| string | newValue | The new header value. |
AddOrReplace(string, object?)
Adds a new header or replaces the header with the same name.
Declaration
public void AddOrReplace(string name, object? newValue)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The header name. |
| object | newValue | The new header value. |
AddOrReplace(string, string?)
Adds a new header or replaces the header with the same name.
Declaration
public void AddOrReplace(string name, string? newValue)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The header name. |
| string | newValue | The new header value. |
Contains(string)
Returns a boolean value indicating whether an header with the specified name has already been added to the collection.
Declaration
public bool Contains(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The name to be checked. |
Returns
| Type | Description |
|---|---|
| bool | A boolean value indicating whether the name was found in the existing headers. |
GetEnumerator()
Returns an enumerator that iterates through the collection.
Declaration
public IEnumerator<MessageHeader> GetEnumerator()
Returns
| Type | Description |
|---|---|
| IEnumerator<MessageHeader> | An enumerator that can be used to iterate through the collection. |
GetValue(string, bool)
Returns the value of the header with the specified name.
It will return null if no header with that name is found in the collection.
Declaration
public string? GetValue(string name, bool throwIfNotFound = false)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The name of the header to be retrieved. |
| bool | throwIfNotFound | A boolean value specifying whether an exception must be thrown if the header with the specified name is not found (or the value cannot be converted to the specified type). |
Returns
| Type | Description |
|---|---|
| string | The header value converted to the target type, or |
GetValue(string, Type, bool)
Returns the value of the header with the specified name, casting it to the specified type.
By default it will return null if no header with that name is found in the collection but
this behavior can be changed
setting the throwIfNotFound parameter to true.
Declaration
public object? GetValue(string name, Type targetType, bool throwIfNotFound = false)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The name of the header to be retrieved. |
| Type | targetType | The type to convert the header value to. |
| bool | throwIfNotFound | A boolean value specifying whether an exception must be thrown if the header with the specified name is not found (or the value cannot be converted to the specified type). |
Returns
| Type | Description |
|---|---|
| object | The header value converted to the target type, or |
GetValueOrDefault(string, Type)
Returns the value of the header with the specified name, casting it to the specified type.
It will return the default value for the target type if no header with that name is found in the collection.
Declaration
public object? GetValueOrDefault(string name, Type targetType)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The name of the header to be retrieved. |
| Type | targetType | The type to convert the header value to. |
Returns
| Type | Description |
|---|---|
| object | The header value converted to the target type, or |
GetValueOrDefault<T>(string)
Returns the value of the header with the specified name, casting it to the specified type
T.
It will return the default value for the type T if no header with that
name is found in the collection.
Declaration
public T GetValueOrDefault<T>(string name) where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The name of the header to be retrieved. |
Returns
| Type | Description |
|---|---|
| T | The header value converted to the target type, or |
Type Parameters
| Name | Description |
|---|---|
| T | The type to convert the header value to. |
GetValue<T>(string, bool)
Returns the value of the header with the specified name, casting it to the specified type
T.
It will return null if no header with that name is found in the collection.
Declaration
public T? GetValue<T>(string name, bool throwIfNotFound = false) where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The name of the header to be retrieved. |
| bool | throwIfNotFound | A boolean value specifying whether an exception must be thrown if the header with the specified name is not found (or the value cannot be converted to the specified type). |
Returns
| Type | Description |
|---|---|
| T? | The header value converted to the target type, or |
Type Parameters
| Name | Description |
|---|---|
| T | The type to convert the header value to. |
Remove(MessageHeader)
Removes the specified header.
Declaration
public void Remove(MessageHeader header)
Parameters
| Type | Name | Description |
|---|---|---|
| MessageHeader | header | The header to remove. |
Remove(string)
Removes all headers with the specified name.
Declaration
public void Remove(string name)
Parameters
| Type | Name | Description |
|---|---|---|
| string | name | The header name. |