事件的异步方法签名

时间:2017-06-26 15:30:13

标签: c# async-await

我正在开发一个xamarin / C#项目。我有一个这样的事件方法:

        void Handle_SearchButtonPressed(object sender, System.EventArgs e)
        {

        }

假设我想要等待这样的异步方法:

        void Handle_SearchButtonPressed(object sender, System.EventArgs e)
        {
             await my_async_method();
        }

我需要添加如下的aync关键字:

        async void Handle_SearchButtonPressed(object sender, System.EventArgs e)
        {
             await my_async_method();
        }

工作正常。但是,理论上,我还应该用Task替换void类型。如果我这样做,我得到一个错误(错误的方法签名)。

所以我的问题是:为什么它适用于void?理论上它不应该起作用。

第二个问题:如何在没有等待的情况下调用Handle_SearchButtonPressed它是如何工作的(内部)。

由于

0 个答案:

没有答案