先上代码。这就是我想要做的。我很接近,但我想我只需要修复我在 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!"));
}
不幸的是,这!await post()
不起作用,因为“类型 'void' 是不可等待的。” 所以问题是,我如何在这个方法中定义我的参数来支持一个可等待的参数?
下面是 TwitterAction().Post() 的定义方式...
public virtual async Task<bool> Post(string messageId){...}