मैं निम्नलिखित लिखने के लिए चाहते हैं , जो ठीक काम करता है, लेकिन शोध के अनुसार यह थ्रेड को अवरुद्ध कर देगा।टास्क दिया गया मान, टास्क <T> (async/इंतजार पैटर्न) के बिना
मैं इसके लिए async/प्रतीक्षा पैटर्न का उपयोग करना चाहता हूं लेकिन यह नहीं लगता कि यह कैसे करना है। अगर मैं async के साथ भी ऐसा ही किया/मेरे वर्तमान ज्ञान के साथ इंतजार है मैं हमेशा इस के साथ खत्म हो जाएगा:
public async Task<string> GetSomeValue()
{
//directly return the value of the Method 'DoSomeHeavyWork'...
var t = DoSomeHeavyWork();
return await t;
}
public Task<string> DoSomeHeavyWork()
{
return Task.Run(() => {
// do some long working progress and return a string
return "Hello World!";
});
}
यह समाधान नहीं करता है काफी मेरी जरूरतों फिट क्योंकि मैं केवल स्ट्रिंग और नहीं एक Task<string>
वापस करना चाहते हैं, कैसे क्या यह async/प्रतीक्षा के साथ हासिल किया जा सकता है?
आप क्यों नहीं लौट सकते 'टास्क' क्योंकि जब आप 'यह await' यह एक' स्ट्रिंग' देता है। क्या आप वह नहीं चाहते हैं? –
Enigmativity