指导原则是避免在事件处理程序中使用时
async void除外 ,因此
async void在事件处理程序中使用是可以的。
就是说,出于 单元测试的 原因,我经常喜欢排除所有
async void方法的逻辑。例如,
public async Task onFormLoadAsync(object sender, EventArgs e){ await Task.Delay(2000); ...}private async void Form_Load(object sender, EventArgs e){ await onFormLoadAsync(sender, e);}


