MVVM, MEF, Silverlight and Service Agent -


मेरे पास वर्तमान में मेरे व्यूमोल्डल में निम्नलिखित कन्स्ट्रक्टर हैं

  सार्वजनिक कार्टिव्यू मॉडेल (): यह ( नया PayPalCompleted ()) {} सार्वजनिक कार्टव्यू मॉडेल (IPayPalCompleted serviceAgent) {if (! IsDesignTime) {_ServiceAgent = serviceAgent; WireCommands (); }}   

मैं अपने आवेदन प्रिज्म और एमईएफ modularise करने के लिए कोशिश कर रहा हूँ। मेरे मॉड्यूल ठीक काम करते हैं, लेकिन मुझे अपने एक व्यू मॉडेल्स के साथ परेशानी हो रही है।

मेरी समस्या यह है कि मुझे कन्स्ट्रक्टर पर EventAggregator आयात करना पड़ता है, लेकिन मुझे यह समस्या है कि मैं यह कैसे एक paramatless निर्माता और साथ ही एक आयातक निर्माता

  [आयातक कॉन्स्ट्रस्ट्रक्टर] सार्वजनिक कार्टव्यू मॉडेल ([आयात] IEventAggregator eventAggregator) {if (IsDesignTime) {_ServiceAgent = new PayPalCompleted (); TheEventAggregator = eventAggregator; WireCommands (); }}   

यानी मैं इस तरह कुछ करना चाहता हूँ

  सार्वजनिक CartViewModel (): इस (नया PayPalCompleted (), IEventAggregator eventAggregator) {} [ImportingConstructor ] सार्वजनिक कार्टव्यू मॉडेल (IPayPalCompleted serviceAgent, IEventAggregator eventAggregator) {... सामान}   

जो सही नहीं है मुझे पता है ... क्या है ??

का भाग मुझे लगता है कि मुद्दा यह है कि जब एक आयात कन्स्ट्रक्टर का उपयोग किया जाता है तो निर्माता में पैरामीटर डिफ़ॉल्ट रूप से आयात पैरामीटर हैं - जिसका मतलब होगा कि उन्हें MEF के लिए इसी तरह की निर्यात की आवश्यकता है ताकि वह सही ढंग से लिख सकें शायद इसका अर्थ है कि मुझे अपनी पेपे सेवा निर्यात करनी चाहिए? या इसे करना चाहिए?

धन्यवाद

इस से निपटने का सबसे आसान तरीका यह है । प्रकार IEventAggregator की संपत्ति का खुलासा, IPartImportsSatisifiedNotification को लागू करने और उस विधि में घटना सदस्यता संभाल

इस तरह

  सार्वजनिक वर्ग CartViewModel: IPartImportsSatisfiedNotification {निजी केवल पढ़ने के लिए IPayPalCompleted _serviceAgent; सार्वजनिक कार्टव्यू मॉडेल (IPayPalCompleted serviceAgent) {this._serviceAgent = serviceAgent; CompositionInitializer.SatisfyImports (this); } [आयात करें] सार्वजनिक इवेंट एग्रेजेटर इवेंटएगेजेटर {प्राप्त करें; सेट; } शून्य IPartImportsSatisfiedNotification.OnImportsSatisifed () {अगर (EventAggregator! = नल) {// घटनाओं के लिए सदस्यता लें आदि}}}    

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

java - Reaching JTextField in a DocumentListener -

c# - Add Image in a stackpanel based on textbox input -