Interface IReason
Base contract for all result reasons — errors, successes, and custom outcomes. All reasons carry a human-readable message and an optional metadata dictionary.
public interface IReason
- Extension Methods
Properties
Message
Gets the human-readable description of this reason.
[Required]
string Message { get; init; }
Property Value
Tags
Gets the structured metadata attached to this reason.
Keys are string labels; values are arbitrary objects (e.g. HTTP status codes, field names).
Use WithTag on any concrete reason to attach metadata fluently.
ImmutableDictionary<string, object> Tags { get; init; }