Interface IMessage
Common contract for a single reportable item on an IProgress<T>
channel — an NC diagnostic, a step-anchored notice, a simple message, or a progress
fraction. Consumers (GUI / log) treat every kind uniformly through this view, while each
concrete kind is still stored by its own owner (e.g. NcDiagnostic by
NcDiagnosticProgress, ClStripPos by ClStrip) rather than being mixed
into one shared collection.
public interface IMessage
- Extension Methods
Methods
GetArgs()
Gets the values interpolated into GetFormat(); null when GetFormat() is null, possibly empty for a hole-less template. Default interface method so external implementers are unaffected.
object[] GetArgs()
Returns
- object[]
The interpolation arguments, or null when untemplated.
GetCategory()
Gets the classification — see Category.
Category GetCategory()
Returns
- Category
The category of this message.
GetDetail()
Gets the optional detail payload or exception; null when not applicable.
object GetDetail()
Returns
- object
The detail object, or null.
GetFormat()
Gets the composite-format template behind GetNotification() — a
{0}-style .NET format string — when this message was produced from an
interpolated template; null when the notification has no structured template.
Together with GetArgs() this lets a consumer re-render the message
in another language without losing the interpolated live values, while
GetNotification() stays the invariant English rendering.
Default interface method so external implementers are unaffected.
string GetFormat()
Returns
- string
The composite format string, or null when untemplated.
GetId()
Gets the structured id used for filtering / suppression; may be null.
string GetId()
Returns
- string
The message id, or null when not applicable.
GetNotification()
Gets the end-user friendly notification text.
string GetNotification()
Returns
- string
The notification text.
GetSeverity()
Gets the importance level — see Severity.
Severity GetSeverity()
Returns
- Severity
The severity of this message.