注意:我不确定这是否适用于 Xamarin,如果我错了,请纠正我。
基本上,问题在于该函数不是异步的。我猜你的函数定义看起来像这样:
public void MyFunction(MyObject arg, etc)
{
var testObject = new ParseObject ("TestObject");
testObject ["foo"] = "bar";
await testObject.SaveAsync();
}
await
稍后在该语言中引入,为了确保它不会破坏任何旧代码,您需要将async
修饰符添加到方法中以便它能够使用async
. 像这样:
//note ▼▼▼▼▼ the async modifier in the function declaration
public async void MyFunction(MyObject arg, etc)
{
var testObject = new ParseObject ("TestObject");
testObject ["foo"] = "bar";
await testObject.SaveAsync();
}
那将编译。但是,您还可以进行另一项改进。您可以使用Task
该类作为返回值。这将让其他方法await
在您的方法上使用。像这样:
//note the ▼▼▼▼ new return value
public async Task MyFunction(MyObject arg, etc)
{
var testObject = new ParseObject ("TestObject");
testObject ["foo"] = "bar";
await testObject.SaveAsync();
}
这将意味着其他人将能够执行以下操作:
await MyFunction(arguments);