Как я могу ожидать асинхронный метод без модификатора асинхронности в этом родительском методе?

У меня есть метод, которого я хочу ждать, но я не хочу вызывать эффект домино, думая, что все может вызвать этот вызывающий метод и ожидать его. Например, у меня есть этот метод:

public bool Save(string data)
{
   int rowsAffected = await UpdateDataAsync(data);
   return rowsAffected > 0;
}

Я звоню:

public Task<int> UpdateDataAsync()
{
  return Task.Run(() =>
  {
    return Data.Update(); //return an integer of rowsAffected
  }
}

Это не будет работать, потому что я должен поставить «асинхронный» в сигнатуру метода дляSave() и тогда я не могу вернутьсяbool Я должен сделать этоTask<bool> но я не хочу, чтобы кто-то ждалSave() метод.

Есть ли способ, которым я могу приостановить выполнение кода, например, await или как-то ожидать этого кода без модификатора async?

Ответы на вопрос(2)

Ваш ответ на вопрос