2017-04-25 39 views
-2

我有這樣一個非常簡單的方法: -沒有擴展方法「GetAwaiter」接受第一個參數

public async Task<XrmActivity> GetById(Guid id) 
{ 
    return await this.GetById<XrmActivity>(id, "activityid", fetchXml); 
} 

,但我得到了以下錯誤: -

'XrmActivity' does not contain a definition for 'GetAwaiter' and no extension method 'GetAwaiter' accepting a first argument of type 'XrmActivity' could be found (are you missing a using directive or an assembly reference?)

這是怎麼回事?請幫忙。我發現堆棧溢出中的其他鏈接,我不是很確定問題是什麼。

回答

1

What is going on?

this.GetById<XrmActivity>(id, "activityid", fetchXml)返回XrmActivity,這不是一個等待類型。因此,您不能與await一起使用。

要解決,或者:

  • 變化GetById(Guid, string, typeof(fetchXml))返回一個Task<XrmActivity>代替XrmActivity的,或者:
  • 變化GetById(Guid)是同步的,即,public XrmActivity GetById(Guid id) => GetById<XrmActivity>(id, "activityid", fetchXml);
相關問題