我的任務有問題。當我嘗試從我的任務中收回返回的變量時,我無法使用.Result屬性來獲取它。這裏是我的代碼:爲什麼不能使用Task <>。Result屬性?
var nextElement = dir.GetValue(i++).ToString();
Task buffering = Task<byte[]>.Run(() => imageHashing(nextElement));
bitmapBuffer = buffering.Result;
和imageHasing函數聲明如下:public bool[] imageHashing(string path)
我得到一個錯誤saing:
嚴重性代碼說明項目文件的線路抑制狀態 錯誤CS1061「任務'不包含'結果'的定義,並且沒有 擴展方法'結果'接受第一個參數類型'任務' 可以找到(你是否缺少使用指令或程序集 參考?)
從this microsoft website例如作品,我不明白爲什麼。
好,好消息,因爲你在這裏使用Task是完全沒有意義的。您正在阻止當前線程,因此您可以直接調用imageHashing並跳過Task.Run。 – Will
你需要聲明它爲'任務'。看到[這個問題](https://stackoverflow.com/questions/11333297/threading-tasks-task-does-not-contain-a-definition-for-result)的解釋。 –
或者使用var而不是 –