相关疑难解决方法(0)

传递*Awaitable*匿名函数作为参数

代码优先.这就是我想要做的.我很接近,但我想我只需要修改我在UpdateButton方法中定义参数的方式.

private async void UpdateButton(Action<bool> post)
{
    if (!await post())
        ErrorBox.Text = "Error posting message.";
}

private void PostToTwitter()
{
    UpdateButton(async () => await new TwitterAction().Post("Hello, world!"));
}

private void PostToFacebook()
{
    UpdateButton(async () => await new FacebookAction().Post("Hello, world!"));
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这!await post()不起作用,因为"Type'void'不是等待的." 所以问题是,如何在此方法中定义我的参数以支持等待参数?

这是TwitterAction().Post()的定义方式......

public virtual async Task<bool> Post(string messageId){...}

c# lambda asynchronous parameter-passing

31
推荐指数
2
解决办法
3万
查看次数

标签 统计

asynchronous ×1

c# ×1

lambda ×1

parameter-passing ×1