Struct ParsingFailure
public readonly struct ParsingFailure : IResultFailure
- Implements
- Inherited Members
Examples
// Create a parsing failure from multiple validation errors
var failures = new[]
{
ResultFailure.FromErrorMessage("Name is required"),
ResultFailure.FromErrorMessage("Age must be positive")
};
ParsingFailure failure = ParsingFailure.FromFailures(failures);
Console.WriteLine(failure.GetFailureMessage());
// "Parsing failed with the following errors: Name is required, Age must be positive."
Properties
Type
The type of failure.
public Type Type { get; }
Property Value
Methods
Equals(object)
public override bool Equals(object obj)
Parameters
objobject
Returns
FromFailures(params ResultFailure[])
Creates a ParsingFailure from a list of failures.
public static ParsingFailure FromFailures(params ResultFailure[] failures)
Parameters
failuresResultFailure[]The failures.
Returns
- ParsingFailure
The parsing failure.
Examples
ParsingFailure failure = ParsingFailure.FromFailures(
ResultFailure.FromErrorMessage("Field1 is invalid"),
ResultFailure.FromErrorMessage("Field2 is missing")
);
GetFailureMessage()
Returns the error message defined in the failure.
public string GetFailureMessage()
Returns
- string
The error message.
Examples
IResultFailure failure = ResultFailure.FromErrorMessage("Invalid input");
string message = failure.GetFailureMessage(); // "Invalid input"
GetHashCode()
public override int GetHashCode()
Returns
ToException()
Converts the failure to an exception.
public Exception ToException()
Returns
- Exception
The exception.
Examples
IResultFailure failure = ResultFailure.FromErrorMessage("Operation failed");
throw failure.ToException();
ToResult<T>()
Converts the failure to a Result with a Failure state.
public Result<T> ToResult<T>()
Returns
- Result<T>
A Result with a Failure state.
Type Parameters
TThe underlying type of Result.
Examples
IResultFailure failure = ResultFailure.FromErrorMessage("Not found");
Result<User> result = failure.ToResult<User>();
Console.WriteLine(result.IsFailure); // true