Оставляя в стороне вопрос о том, действительно ли это достигнет того, чего вы хотите ...
Если вы хотите запустить Task
, вы просто создаете его. Если вам нужен результат Task
, вы await
его. Так что разделите строки, где вы начинаете Task
и когда вы await
это:
public async Task AsyncTask()
{
//start the Tasks so they run concurrently
var mainFormTask = Task.Run(() => CreateAppForm());
var createTableTask = Task.Run(() => CreateTables());
//await the Tasks and get the results
Form MainForm = await mainFormTask;
DataTable[] MasterTables = await createTableTask;
}
Но, опять же, я не совсем уверен, действительно ли это отличная идея (или сделает что-нибудь значимое) в этом конкретном сценарии.