我在dll中定义了一个方法:
public async Task<bool> ConnectAsync(PtiType clientType, PtiType communicationType,string serverIp,int portNum= 3200)
在不同的项目中,我引用该dll并使用'await'关键字。我从Intellisense得到了这个错误。
看一下该参考的元数据,我看到了这个
[DebuggerStepThrough]
public Task<bool> ConnectAsync(PtiType clientType, PtiType communicationType, string serverIp, int portNum = 3200);
我的async关键字发生了什么变化?
更新: 我正在为这两个项目使用.NET 4.5。
答案 0 :(得分:0)
为了能够使用等待,您的调用者(不仅称为一个(在您的情况下))方法也必须标记为异步。
public async void YorCaller()
{
var result = await ConnectAsync(...);
}
正如评论中正确提到的那样,被调用的方法实际上不必标记为“异步”(如果它不使用任何'await'操作) - 我只是提到“不仅仅是。 ..一个“参考这个样本。