Como posso aguardar um método assíncrono sem um modificador async neste método pai?

Eu tenho um método que eu quero aguardar, mas eu não quero causar um efeito dominó pensando que qualquer coisa pode chamar esse método de chamada e esperá-lo. Por exemplo, eu tenho esse método:

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

Estou ligando:

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

Isso não vai funcionar porque eu tenho que colocar "async" na assinatura do método paraSave() e então eu não posso voltarbool Eu tenho que fazer issoTask<bool> mas eu não quero ninguém esperando oSave() método.

Existe uma maneira que eu posso suspender a execução do código como esperar ou de alguma forma aguardar esse código sem o modificador async?

questionAnswers(2)

yourAnswerToTheQuestion