Result<T> struct
A value or a failure. A native failure is returned, never thrown: check
Result<T>.IsSuccess, or opt into an exception with Result<T>.ValueOrThrow or
Result<T>.EnsureSuccess.
Namespace: Quaternar.Qaros · Assembly: Quaternar.Qaros.dll · Source: QarResult.cs
public readonly struct Result<T>
Type parameters
| Name | Description |
|---|---|
T |
Remarks
The binding throws only for managed misuse: a null argument, or an
ObjectDisposedException for an object already disposed. An async method
completes its task with a failed result on a native failure; only managed cancellation
cancels the task.
Properties
| Member | Description |
|---|---|
| Info | |
| Value | |
| IsSuccess |
Info
public ResultInfo Info { get; }
Value: ResultInfo
Value
public T Value { get; }
Value: T
Exceptions
| Exception | Condition |
|---|---|
| InvalidOperationException | The result is a failure. |
IsSuccess
public bool IsSuccess { get; }
Value: bool
Methods
| Member | Description |
|---|---|
| Success(ResultInfo, T) | |
| Failure(ResultInfo) | |
| EnsureSuccess() | |
| ValueOrThrow() |
Success
public static Result<T> Success(ResultInfo info, T value)
Parameters
| Name | Type | Description |
|---|---|---|
info | ResultInfo | |
value | T |
Returns: Result<T>
Failure
public static Result<T> Failure(ResultInfo info)
Parameters
| Name | Type | Description |
|---|---|---|
info | ResultInfo |
Returns: Result<T>
EnsureSuccess
public void EnsureSuccess()
Exceptions
| Exception | Condition |
|---|---|
| NativeCallException | The result is a failure. |
ValueOrThrow
public T ValueOrThrow()
Returns: T
Exceptions
| Exception | Condition |
|---|---|
| NativeCallException | The result is a failure. |