public class test
{
public async Task Go()
{
await PrintAnswerToLife();
Console.WriteLine("done");
}
public async Task PrintAnswerToLife()
{
int answer = await GetAnswerToLife();
Console.WriteLine(answer);
}
public async Task<int> GetAnswerToLife()
{
await Task.Delay(5000);
int answer = 21 * 2;
return answer;
}
}
Nếu tôi muốn gọi Go trong phương thức main (), làm cách nào để thực hiện điều đó? Tôi đang thử các tính năng mới của c #, tôi biết tôi có thể kết nối phương thức không đồng bộ với một sự kiện và bằng cách kích hoạt sự kiện đó, phương thức không đồng bộ có thể được gọi.
Nhưng nếu tôi muốn gọi nó trực tiếp trong phương thức chính thì sao? Làm thế nào tôi có thể làm điều đó?
Tôi đã làm một cái gì đó giống như
class Program
{
static void Main(string[] args)
{
test t = new test();
t.Go().GetAwaiter().OnCompleted(() =>
{
Console.WriteLine("finished");
});
Console.ReadKey();
}
}
Nhưng có vẻ như đó là một khóa chết và không có gì được in trên màn hình.