मैं वर्कफ़्लो बनाने के लिए आरएक्स एक्सटेंशन और WF4 का उपयोग कर रहा हूं जो वर्कफ़्लो को प्रगति के लिए देखने योग्य संदेशों पर प्रतिक्रिया करता है। ऐसा करने के लिए, मैं एक ऑब्जेक्ट लाता हूं जिसमें एक IObservable (मॉड्यूल मैसेज मेरा सार वर्ग है।) मेरी समस्या यह है कि। सदस्यता सदस्यता में से किसी भी विस्तार विधियों को पहचानने में विफल रहता है, अर्थात् लैम्ब्डा एक्सप्रेशन/विधि समूहों के लिए।IObservable <> गायब। सदस्यता विधियों की सदस्यता
using System.Activities;
using System.Activities.Hosting;
using System.Collections.Generic;
using System.Reactive.Linq;
और यह भी निम्न कोड पंक्ति:
internal void AddModuleCallback(IModule module)
{
if (!addedCallback)
{
addedCallback = true;
module.Messages.Where(m => m is MemberLeftModuleMessage || m is MemberRemovedModuleMessage).Subscribe(m => this.OnMemberExit(m)); // This line errors
}
}
internal void OnMemberExit(ModuleMessage message)
{
// Gizmo was fired, resume the bookmark
this.instance.BeginResumeBookmark(
new Bookmark(ModuleVisit.BookmarkName),
message is MemberLeftModuleMessage,
r => this.instance.EndResumeBookmark(r),
null);
}
का संकलन समय त्रुटि के साथ
:
Error 1 Cannot convert lambda expression to type 'System.IObserver<Components.Messages.ModuleMessage>' because it is not a delegate type <Removed>\WaitForModuleVisitExtension.cs 34 119 Components
कृपया ध्यान दें, इस निम्न कोड में, मैं संदर्भ हो कोड को नमूना से अनुकूलित किया गया है और मेरी पसंद के लिए बाहर नहीं किया गया है, मैं पूरी तरह से समस्या में चिंतित हूं। मैं आरएक्स या डब्ल्यूएफ 4 के साथ कोई समर्थक नहीं हूं, लेकिन उसी समाधान में कहीं और इस तरह सब्सक्राइब किया है। मैंने NuGet के माध्यम से इस परियोजना में आरएक्स जोड़ा है।
संपादित करें: निम्न त्रुटि अगर मैं एक विधि समूह (लैम्ब्डा के बजाय) के रूप में उपयोग:
Error 2 Argument 1: cannot convert from 'method group' to 'System.IObserver<Components.Messages.ModuleMessage>' <removed>\WaitForModuleVisitExtension.cs 34 119 Components
क्या आप अपने द्वारा वर्णित नमूने के लिए एक लिंक साझा कर सकते हैं? यह काफी दिलचस्प लग रहा है। मैंने हमेशा सोचा कि वेधशालाएं क्रमिक नहीं हैं, तो आप वर्कफ़्लो के अंदर उनका उपयोग कैसे कर सकते हैं जिन्हें किसी भी समय दृढ़ता के लिए समर्थन की आवश्यकता है? – julealgon
यह बहुत समय पहले था, मुझे याद भी नहीं है। मुझे लगता है कि किसी और चीज से विचलित होने से पहले मुझे उस बिंदु पर कभी नहीं मिला (यह एक निजी परियोजना थी) – Sprague