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
TThe 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
ResultAsync()
Awaits the chain and returns the comparison result.
public Task<int> ResultAsync()
Returns
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
Returns
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
Returns
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
Returns
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
Returns
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
selectorFunc<T, TResult>
Returns
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
selectorFunc<T, TResult>
Returns
Type Parameters
TResult