Show / Hide Table of Contents

    Class MessageHeaderCollection

    A modifiable collection of message headers.

    Inheritance
    object
    MessageHeaderCollection
    Implements
    IReadOnlyList<MessageHeader>
    IReadOnlyCollection<MessageHeader>
    IEnumerable<MessageHeader>
    IEnumerable
    Inherited Members
    object.GetType()
    object.MemberwiseClone()
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    Namespace: Silverback.Messaging.Messages
    Assembly: Silverback.Integration.dll
    Syntax
    public class MessageHeaderCollection : IReadOnlyList<MessageHeader>, IReadOnlyCollection<MessageHeader>, IEnumerable<MessageHeader>, IEnumerable

    Constructors

    MessageHeaderCollection(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

    Count

    A modifiable collection of message headers.

    Declaration
    public int Count { get; }
    Property Value
    Type Description
    int

    this[int]

    Gets the header at the specified index in the collection.

    Declaration
    public MessageHeader this[int index] { get; set; }
    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

    Add(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, object?)

    Adds a new header if no header with the same name is already set.

    Declaration
    public void AddIfNotExists(string name, object? newValue)
    Parameters
    Type Name Description
    string name

    The header name.

    object newValue

    The new 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.

    AddRange(IEnumerable<MessageHeader>)

    Adds the new headers.

    Declaration
    public void AddRange(IEnumerable<MessageHeader> headers)
    Parameters
    Type Name Description
    IEnumerable<MessageHeader> headers

    The headers to be added.

    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()

    A modifiable collection of message headers.

    Declaration
    public IEnumerator<MessageHeader> GetEnumerator()
    Returns
    Type Description
    IEnumerator<MessageHeader>

    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 null if not found.

    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 null if not found.

    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 null if not found.

    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 null if not found.

    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 null if not found.

    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.

    Replace(string, object?)

    Replaces the specified header value.

    Declaration
    public int Replace(string name, object? newValue)
    Parameters
    Type Name Description
    string name

    The header name.

    object newValue

    The new header value.

    Returns
    Type Description
    int

    The number of headers that have been replaced.

    Replace(string, string?)

    Replaces the specified header value.

    Declaration
    public int Replace(string name, string? newValue)
    Parameters
    Type Name Description
    string name

    The header name.

    string newValue

    The new header value.

    Returns
    Type Description
    int

    The number of headers that have been replaced.

    TryGetValue(string, out string?)

    Checks whether a header with the specified name exists and returns its value.

    Declaration
    public bool TryGetValue(string name, out string? value)
    Parameters
    Type Name Description
    string name

    The name of the header to be retrieved.

    string value

    The header value.

    Returns
    Type Description
    bool

    A value indicating whether the header was found.

    Implements

    IReadOnlyList<T>
    IReadOnlyCollection<T>
    IEnumerable<T>
    IEnumerable

    Extension Methods

    MessageHeaderEnumerableExtensions.Contains(IEnumerable<MessageHeader>, string)
    MessageHeaderEnumerableExtensions.GetValue(IEnumerable<MessageHeader>, string, bool)
    MessageHeaderEnumerableExtensions.GetValue(IEnumerable<MessageHeader>, string, Type, bool)
    MessageHeaderEnumerableExtensions.GetValueOrDefault(IEnumerable<MessageHeader>, string, Type)
    MessageHeaderEnumerableExtensions.GetValueOrDefault<T>(IEnumerable<MessageHeader>, string)
    MessageHeaderEnumerableExtensions.GetValue<T>(IEnumerable<MessageHeader>, string, bool)
    MessageHeaderEnumerableExtensions.TryGetValue(IEnumerable<MessageHeader>, string, out string?)
    GitHub E-Mail
    ↑ Back to top © 2026 Sergio Aquilini