API Reference ResultStatus - ulfbou/Zentient.Results GitHub Wiki

๐Ÿงฉ ResultStatus API Reference

namespace Zentient.Results

๐Ÿ“˜ Summary

ResultStatus is the default, immutable implementation of IResultStatus. It encapsulates an integer Code and a descriptive Description representing the outcome of a result operation. Supports equality, comparisons, HTTP status translation, and custom status creation.


๐Ÿ“Œ Metadata

Property Value
๐Ÿ“ฆ Assembly Zentient.Results.dll
๐Ÿ‘ Visibility public readonly struct
๐Ÿงฑ Implements IResultStatus, IEquatable<ResultStatus>
๐Ÿ“Œ Namespace Zentient.Results

๐Ÿงพ Properties

Name Type Description
Code int Numeric identifier of the status.
Description string Human-readable textual description.

๐Ÿ› ๏ธ Constructors

ResultStatus(int code, string description)

Parameter Type Description
code int Numeric status code.
description string Textual description of status.

Initializes a new ResultStatus instance with the specified code and description.


๐Ÿงช Static Methods

ResultStatus.Custom(int code, string description)

Creates a custom user-defined status.

Parameter Type Description
code int Custom status code.
description string Custom description.
Returns ResultStatus
New status instance with specified code and description.

IResultStatus.FromHttpStatusCode(int statusCode)

Maps an HTTP status code to an IResultStatus.

Parameter Type Description
statusCode int HTTP status code to map.
Returns IResultStatus
Corresponding IResultStatus instance.

Uses HttpStatusCode.ToString() for description and delegates to ResultStatuses.GetStatus.


๐Ÿ” Overridden Members

Method Returns Description
ToString() string Returns (Code) Description format.
Equals(object?) bool Compares with an object for equality.
Equals(ResultStatus) bool Compares with another ResultStatus.
GetHashCode() int Generates hash code from Code and Description.

โš–๏ธ Operators

Operator Returns Description
== bool Equality comparison between instances.
!= bool Inequality comparison.

Both operators are null-safe.


๐Ÿ“™ Best Practices

Scenario Recommendation
Creating custom statuses Use ResultStatus.Custom or implement IResultStatus.
HTTP status translation Use FromHttpStatusCode(int) for API error mapping.
Consistency across results Reuse shared instances from ResultStatuses registry.

๐Ÿงช Example

var status = ResultStatus.Custom(1001, "BusinessRuleViolation");

var result = Result.Failure(status, "You cannot delete this entity.");

๐Ÿ”— Related

  • IResultStatus
  • ResultStatuses (factory and registry)
  • Result
  • HttpStatusCode