एक या अधिक प्रतीक्षाकर्ताओं और प्रतीक्षाों को बनाकर, क्या सी # में कोरआउटिन बनाना संभव है?सी # async, कार्यों के बिना प्रतीक्षा
आदर्श रूप में मैं की तरह कुछ लिखने में सक्षम होना चाहते हैं:
void async Click() {
var mouse_position = await left_mouse_click();
await shoot_projectile();
}
और उसके बाद क्लिक करें विधि कुछ है कि मैं या तो एक और async विधि के अंदर या कि इंतजार कर सकते हैं मैं स्पष्ट रूप से कुछ MoveNext साथ पुनरावृति कर सकते हैं से प्राप्त/GetResult विधि।
अंतिम लक्ष्य यह है कि मुझे एक खेल विकास ढांचे (http://casanova.codeplex.com) के लिए एफ # मोनैडिक कोरआउट के साथ सी # एसिंक/प्रतीक्षा करने की आवश्यकता है।
हां, ऐसा लगता है। मुझे बस एक एसिंक के अंदर उपज करने और बाहरी लूप से सभी परिणामी पैदावारों के माध्यम से कदम उठाने में सक्षम होने की आवश्यकता है, लेकिन मुझे यह कैसे करना है इस बारे में जानकारी नहीं मिल सकती है ... –
'कार्य के लिए इसके लिए डिज़ाइन नहीं किया गया था। आरएक्स टीम ने 'आईएएसआईएनसीएन्यूमेरेटर' पर काम करना शुरू किया जिसमें आपके द्वारा वर्णित व्यवहार है (इसमें एक पुराना चैनल 9 वीडियो है), लेकिन यह काम सभी छोड़ दिया गया है क्योंकि यह लगभग सही दृष्टिकोण नहीं है। मैं आपको इसके बजाय नियमित आरएक्स का उपयोग करने की सलाह देता हूं। –
निरंतरताओं की वैश्विक सूची में निरंतरता जोड़कर मैं अपने आप को एक कस्टम प्रतीक्षा के भीतर खोल सकता हूं, मैं जो भी चाहता हूं उसका अनुकरण कर सकता हूं। मुझे अभी भी एक कार्य वापस करने के लिए मजबूर होना पड़ रहा है यदि मैं एक गैर-शून्य एसिंक विधि चाहता हूं, और यह अजीब लगता है! –