【发布时间】:2017-08-17 00:28:16
【问题描述】:
我正在创建一个具有共享核心的 Xamarin 应用程序。在共享核心中,我有一个用于套接字通信的连接类:
public class ConstantConnection {
public async Task Connect()
{
await conn.Connect (); // Calls a socket plugin to connect
timer = new Timer (new Action<object> (ParseData), "", 100, 1, false); // starts a local timer
}
public async Task Disconnect()
{
timer.Dispose (); // End timer
await conn.Disconnect (); // Close socket
}
}
现在我有另一个类,像构造函数一样工作,它想通过执行来使用上述类的对象:
conn = new ConstantConnection();
await conn.Connect();
这在 Xamarin Studio 中给我一个错误,上面写着:
'await' 运算符只能在异步方法中使用
据我所知,Connect 是async。为什么我不能使用await?
【问题讨论】:
-
你调用它的方法怎么样?那是异步的吗?
-
在构造函数中调用这个函数??如果是,构造函数不能是异步的。
-
@user2941906 是的,我做到了!我按照 Patrick Hofman 的描述添加了 Wait() 来修复它
标签: c# asynchronous xamarin async-await