Add obsolete FirstAsync extension to TaskExtensions
Added FirstAsync<T, TException> as an obsolete extension method for Task<IEnumerable<T>>. This method returns the first element or throws a custom exception if the result is null, using a provided factory delegate. Intended for legacy .NET projects.
This commit is contained in:
@@ -65,6 +65,19 @@ public static class TaskExtensions
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[Obsolete("Implement Mediator behaviors in the Osolete .NET project.")]
|
[Obsolete("Implement Mediator behaviors in the Osolete .NET project.")]
|
||||||
public static Task<T?> FirstOrDefaultAsync<T>(this Task<IEnumerable<T>> task) => task.Then(t => t.FirstOrDefault());
|
public static Task<T?> FirstOrDefaultAsync<T>(this Task<IEnumerable<T>> task) => task.Then(t => t.FirstOrDefault());
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T"></typeparam>
|
||||||
|
/// <typeparam name="TException"></typeparam>
|
||||||
|
/// <param name="task"></param>
|
||||||
|
/// <param name="factory"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Obsolete("Implement Mediator behaviors in the Osolete .NET project.")]
|
||||||
|
public static Task<T?> FirstAsync<T, TException>(this Task<IEnumerable<T>> task, Func<TException> factory)
|
||||||
|
where TException : Exception
|
||||||
|
=> task.Then(t => t.FirstOrDefault()) ?? throw factory();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user