TaskHelper
using System.Runtime.CompilerServices;
using System.Threading.Tasks;
namespace Polly.Utils
{
internal static class TaskHelper
{
public static void GetResult([Nullable(new byte[] {
0,
1
})] this ValueTask<VoidResult> task)
{
if (task.IsCompleted) {
VoidResult result = task.Result;
} else
task.Preserve().GetAwaiter().GetResult();
}
[NullableContext(1)]
public static TResult GetResult<[Nullable(2)] TResult>([Nullable(new byte[] {
0,
1
})] this ValueTask<TResult> task)
{
if (task.IsCompleted)
return task.Result;
return task.Preserve().GetAwaiter().GetResult();
}
}
}