2017-05-08 54 views
1

我是C#的新手,只對線程有一個基本的理解,所以很抱歉,如果我根據錯誤的假設提出問題。C#檢索與線程關聯的對象

我有一個看起來這樣的方法:

public async Task<ServiceResult> AttemptConnectionAsync() 
     { 
      return new ServiceResult(true); 
     } 

我打電話從不同的類此方法:

Task<ServiceResult> sr = someObjectInstance.AttemptConnectionAsync(); 

如何獲得ServiceResult,對象本身「隸屬」線程並訪問它的屬性而不是線程?就像這樣:

Assert.IsNull(ServiceResult.Errors); 
+1

既然你已經開始使用異步(並且你的問題已經得到解答),我推薦閱讀[this](https://blog.stephencleary.com/2012/07/dont-block-on-async- code.html)文章和[this](https://msdn.microsoft.com/zh-cn/magazine/jj991977.aspx)Stephen Cleary撰寫的文章。錯誤使用異步會導致應用程序內出現死鎖,具體取決於您在何處以及如何使用它。閱讀這些應該會幫助你避免將來的麻煩:) – john

回答

2

只需使用await關鍵字如下:

ServiceResult sr = await someObjectInstance.AttemptConnectionAsync(); 

要了解更多有關異步編程,你可以檢查此link

+0

非常感謝,這工作c: –