Table of Contents

Struct AsyncComparisonInfo<T>

Namespace
Garyon.Extensions.Comparison
Assembly
Garyon.dll

Represents an asynchronously composed comparison chain that can continue mixing synchronous and asynchronous steps without breaking the fluent API.

public readonly struct AsyncComparisonInfo<T>

Type Parameters

T

The type of values being compared.

Inherited Members
Extension Methods

Methods

AsComparisonInfoAsync()

Returns the underlying task-like object producing the composed comparison info.

public Task<ComparisonInfo<T>> AsComparisonInfoAsync()

Returns

Task<ComparisonInfo<T>>

GetAwaiter()

Makes the chain awaitable, yielding the comparison result.

public TaskAwaiter<int> GetAwaiter()

Returns

TaskAwaiter<int>

ResultAsync()

Awaits the chain and returns the comparison result.

public Task<int> ResultAsync()

Returns

Task<int>

ThenByAsync<TResult>(Func<T, Task<TResult>>)

Continues the chain with an asynchronous selector returning a Task<TResult>.

public AsyncComparisonInfo<T> ThenByAsync<TResult>(Func<T, Task<TResult>> selector) where TResult : IComparable<TResult>

Parameters

selector Func<T, Task<TResult>>

Returns

AsyncComparisonInfo<T>

Type Parameters

TResult

ThenByAsync<TResult>(Func<T, ValueTask<TResult>>)

Continues the chain with an asynchronous selector returning a ValueTask<TResult>.

public AsyncComparisonInfo<T> ThenByAsync<TResult>(Func<T, ValueTask<TResult>> selector) where TResult : IComparable<TResult>

Parameters

selector Func<T, ValueTask<TResult>>

Returns

AsyncComparisonInfo<T>

Type Parameters

TResult

ThenByDescAsync<TResult>(Func<T, Task<TResult>>)

Continues the chain with an asynchronous selector in descending order returning a Task<TResult>.

public AsyncComparisonInfo<T> ThenByDescAsync<TResult>(Func<T, Task<TResult>> selector) where TResult : IComparable<TResult>

Parameters

selector Func<T, Task<TResult>>

Returns

AsyncComparisonInfo<T>

Type Parameters

TResult

ThenByDescAsync<TResult>(Func<T, ValueTask<TResult>>)

Continues the chain with an asynchronous selector in descending order returning a ValueTask<TResult>.

public AsyncComparisonInfo<T> ThenByDescAsync<TResult>(Func<T, ValueTask<TResult>> selector) where TResult : IComparable<TResult>

Parameters

selector Func<T, ValueTask<TResult>>

Returns

AsyncComparisonInfo<T>

Type Parameters

TResult

ThenByDesc<TResult>(Func<T, TResult>)

Continues the chain with a synchronous selector in descending order.

public AsyncComparisonInfo<T> ThenByDesc<TResult>(Func<T, TResult> selector) where TResult : IComparable<TResult>

Parameters

selector Func<T, TResult>

Returns

AsyncComparisonInfo<T>

Type Parameters

TResult

ThenBy<TResult>(Func<T, TResult>)

Continues the chain with a synchronous selector.

public AsyncComparisonInfo<T> ThenBy<TResult>(Func<T, TResult> selector) where TResult : IComparable<TResult>

Parameters

selector Func<T, TResult>

Returns

AsyncComparisonInfo<T>

Type Parameters

TResult