Имеет ли смысл СУХАТЬ неасинхронный метод, используя его асинхронную версию? [дубликат]C#

Место общения программистов C#
Anonymous
Имеет ли смысл СУХАТЬ неасинхронный метод, используя его асинхронную версию? [дубликат]

Сообщение Anonymous »

Попытка сделать это предполагает использование странного синтаксиса 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

Вернуться в «C#»