मैं प्लुरलसाइट पर दान सुलिवान के आरएक्स एक्सटेंशन प्रशिक्षण पाठ्यक्रम के माध्यम से काम करने की कोशिश कर रहा हूं। यह बहुत अच्छी चीजें है लेकिन दुर्भाग्य से आरएक्स पहले ही बदल चुका है, भले ही पाठ्यक्रम केवल एक महीने पहले प्रकाशित हुआ था।.NET के लिए आरएक्स - शेड्यूलर के साथ क्या हुआ। डिस्पैचर?
अधिकांश परिवर्तन काम करने के लिए तुच्छ हैं (तीन डीएलएस से एक डीएल में बदलते हैं, नामस्थानों में बदलते हैं आदि) लेकिन मैं यह समझने के लिए संघर्ष कर रहा हूं कि मुझे शेड्यूलर के स्थान पर क्या उपयोग करना चाहिए। डैन के उदाहरण में डिस्पैचर। मैं शेड्यूलर में उपलब्ध संपत्तियों में कुछ भी स्पष्ट नहीं देख सकता।
यहाँ कोड मैं (पुनर्संशोधित?) आरएक्स लाइब्रेरी के साथ काम करने के लिए कोशिश कर रहा हूँ (वर्तमान में स्थिर संस्करण v1.0.10605)
var query = from number in Enumerable.Range(1, 25) select StringWait(number.ToString());
var observableQuery = query.ToObservable(Scheduler.ThreadPool);
observableQuery.ObserveOn(Scheduler**.Dispatcher**).Subscribe(n => Results.AppendText(string.Format("{0}\n", n)));
क्या मैं ऑब्जर्वर कोड आह्वान करने के लिए उपयोग करना चाहिए (परिणाम है एपेंडटेक्स्ट) मूल डिस्पैचर थ्रेड पर?
धन्यवाद। मेरे पास उस डीएलएल का संदर्भ है लेकिन यह समझने के लिए संघर्ष कर रहा हूं कि उपर्युक्त क्वेरी में "ObserveOn" विधि को प्रतिस्थापित करने के लिए मुझे क्या उपयोग करना चाहिए। मैं एक डिस्पैचरशेड्यूलर का संदर्भ दे सकता हूं लेकिन कॉल करने के लिए इसकी कोई सदस्यता विधि नहीं है। – irascian
आप इसे 'ObserveOnDispatcher()' में बदल सकते हैं, जो 'System.Reactive.Windows.Threading' असेंबली में परिभाषित एक विस्तार विधि है। –
गोटो! धन्यवाद। तो मेरी आखिरी पंक्ति अवलोकन योग्य हो जाती है। ObserveOnDispatcher()। सदस्यता लें (n => results.AppendText (string.Format ("{0} \ n", n))); – irascian