Show / Hide Table of Contents

Struct Result<T>

Represents a result of operation which can be actual result or exception.

Implements
ISerializable
Namespace: DotNext
Assembly: DotNext.dll
Syntax
public struct Result<T> : ISerializable
Type Parameters
Name Description
T

Constructors

| Improve this Doc View Source

Result(T)

Initializes a new successful result.

Declaration
public Result(T value)
Parameters
Type Name Description
T value

The value to be stored as result.

| Improve this Doc View Source

Result(Exception)

Initializes a new unsuccessful result.

Declaration
public Result(Exception error)
Parameters
Type Name Description
Exception error

The exception representing error. Cannot be null.

Properties

| Improve this Doc View Source

Error

Gets exception associated with this result.

Declaration
public Exception Error { get; }
Property Value
Type Description
Exception
| Improve this Doc View Source

IsSuccessful

Indicates that the result is successful.

Declaration
public bool IsSuccessful { get; }
Property Value
Type Description
Boolean

true if this result is successful; false if this result represents exception.

| Improve this Doc View Source

Value

Extracts actual result.

Declaration
public T Value { get; }
Property Value
Type Description
T

Methods

| Improve this Doc View Source

Convert<U>(Converter<T, U>)

If successful result is present, apply the provided mapping function hiding any exception caused by the converter.

Declaration
public Result<U> Convert<U>(Converter<T, U> converter)
Parameters
Type Name Description
DotNext.Converter<T, U> converter

A mapping function to be applied to the value, if present.

Returns
Type Description
Result<U>

The conversion result.

Type Parameters
Name Description
U

The type of the result of the mapping function.

| Improve this Doc View Source

Convert<U>(ValueFunc<T, U>)

If successful result is present, apply the provided mapping function hiding any exception caused by the converter.

Declaration
public Result<U> Convert<U>(in ValueFunc<T, U> converter)
Parameters
Type Name Description
ValueFunc<T, U> converter

A mapping function to be applied to the value, if present.

Returns
Type Description
Result<U>

The conversion result.

Type Parameters
Name Description
U

The type of the result of the mapping function.

| Improve this Doc View Source

Or(T)

Returns the value if present; otherwise return default value.

Declaration
public T Or(T defaultValue)
Parameters
Type Name Description
T defaultValue

The value to be returned if this result is unsuccessful.

Returns
Type Description
T

The value, if present, otherwise defaultValue.

| Improve this Doc View Source

OrDefault()

Returns the value if present; otherwise return default value.

Declaration
public T OrDefault()
Returns
Type Description
T

The value, if present, otherwise default.

| Improve this Doc View Source

OrInvoke(Func<T>)

Returns the value if present; otherwise invoke delegate.

Declaration
public T OrInvoke(Func<T> defaultFunc)
Parameters
Type Name Description
DotNext.Func<T> defaultFunc

A delegate to be invoked if value is not present.

Returns
Type Description
T

The value, if present, otherwise returned from delegate.

| Improve this Doc View Source

OrInvoke(Func<Exception, T>)

Returns the value if present; otherwise invoke delegate.

Declaration
public T OrInvoke(Func<Exception, T> defaultFunc)
Parameters
Type Name Description
DotNext.Func<Exception, T> defaultFunc

A delegate to be invoked if value is not present.

Returns
Type Description
T

The value, if present, otherwise returned from delegate.

| Improve this Doc View Source

OrInvoke(ValueFunc<T>)

Returns the value if present; otherwise invoke delegate.

Declaration
public T OrInvoke(in ValueFunc<T> defaultFunc)
Parameters
Type Name Description
ValueFunc<T> defaultFunc

A delegate to be invoked if value is not present.

Returns
Type Description
T

The value, if present, otherwise returned from delegate.

| Improve this Doc View Source

OrInvoke(ValueFunc<Exception, T>)

Returns the value if present; otherwise invoke delegate.

Declaration
public T OrInvoke(in ValueFunc<Exception, T> defaultFunc)
Parameters
Type Name Description
ValueFunc<Exception, T> defaultFunc

A delegate to be invoked if value is not present.

Returns
Type Description
T

The value, if present, otherwise returned from delegate.

| Improve this Doc View Source

ToString()

Returns textual representation of this object.

Declaration
public override string ToString()
Returns
Type Description
String

The textual representation of this object.

| Improve this Doc View Source

TryGet(out T)

Attempts to extract value from container if it is present.

Declaration
public bool TryGet(out T value)
Parameters
Type Name Description
T value

Extracted value.

Returns
Type Description
Boolean

true if value is present; otherwise, false.

Operators

| Improve this Doc View Source

BitwiseAnd(Result<T>, Result<T>)

Indicates that both results are successful.

Declaration
public static bool operator &(in Result<T> left, in Result<T> right)
Parameters
Type Name Description
Result<T> left

The first result to check.

Result<T> right

The second result to check.

Returns
Type Description
Boolean

true if both results are successful; otherwise, false.

| Improve this Doc View Source

Explicit(Result<T> to T)

Extracts actual result.

Declaration
public static explicit operator T(in Result<T> result)
Parameters
Type Name Description
Result<T> result

The result object.

Returns
Type Description
T
| Improve this Doc View Source

False(Result<T>)

Indicates that the result represents error.

Declaration
public static bool operator false (in Result<T> result)
Parameters
Type Name Description
Result<T> result

The result to check.

Returns
Type Description
Boolean

false if this result is successful; true if this result represents exception.

| Improve this Doc View Source

Implicit(T to Result<T>)

Converts value into the result.

Declaration
public static implicit operator Result<T>(T result)
Parameters
Type Name Description
T result

The result to be converted.

Returns
Type Description
Result<T>
| Improve this Doc View Source

Implicit(Result<T> to Optional<T>)

Converts the result into Optional<T>.

Declaration
public static implicit operator Optional<T>(in Result<T> result)
Parameters
Type Name Description
Result<T> result

The result to be converted.

Returns
Type Description
Optional<T>
| Improve this Doc View Source

True(Result<T>)

Indicates that the result is successful.

Declaration
public static bool operator true (in Result<T> result)
Parameters
Type Name Description
Result<T> result

The result to check.

Returns
Type Description
Boolean

true if this result is successful; false if this result represents exception.

Implements

ISerializable

Extension Methods

ExpressionBuilder.Const<T>(T)
Result.Coalesce<T>(Result<T>, Result<T>)
  • Improve this Doc
  • View Source
Back to top Generated by DocFX