Попытка сделать это предполагает использование странного синтаксиса GetAwaiter().GetResult().
Помимо этого факта, это работает; но разве это отстойно? Если да, то почему?
Оригинал:
internal static ISector Read(ISector sector, Stream stream)
{
using var scope = new ArrayPoolScope(GetLength(sector));
stream.ReadExactly(scope.Span);
var result = Read(sector, scope.Span);
return result;
}
internal static async Task ReadAsync(ISector sector, Stream stream)
{
using var scope = new ArrayPoolScope(GetLength(sector));
await stream.ReadExactlyAsync(scope.Memory);
var result = Read(sector, scope.Span);
return result;
}
Изменено:
internal static ISector Read(ISector sector, Stream stream)
{
var result = ReadAsync(sector, stream).GetAwaiter().GetResult();
return result;
}
internal static async Task ReadAsync(ISector sector, Stream stream)
{
using var scope = new ArrayPoolScope(GetLength(sector));
await stream.ReadExactlyAsync(scope.Memory);
var result = Read(sector, scope.Span);
return result;
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... nc-version