11

मैं पोर्टेबल क्लास लाइब्रेरी का उपयोग कर कॉन्फ़िगर प्रबंधक श्रेणी लिख रहा हूं। पीसीएल StreamReader और StreamWriter कक्षाओं का समर्थन करता है जो मैं उपयोग करना चाहता हूं, लेकिन उन वर्गों का पीसीएल संस्करण निर्माण के दौरान एक स्ट्रिंग में गुजरने का समर्थन नहीं करता है। पीसीएल reader.Close() और writer.Close() का भी समर्थन नहीं करता है। अंततः यह FileStream वर्ग का समर्थन नहीं करता है।स्ट्रीम रीडर और पोर्टेबल क्लास लाइब्रेरी

तो मैं निम्नलिखित प्रश्नों में से किसी एक का जवाब रहा हूँ:

  1. मैं एक पीसीएल में काम कर StreamReader और StreamWriter कक्षाएं कैसे मिल सकता है?
  2. मैं पीसीएल का उपयोग कर एक नया stream कैसे बना सकता हूं?
  3. पीसीएल में फ़ाइलों को लोड और सहेजने के लिए मुझे अन्य विकल्प क्या हैं?
+0

यह निपटाने का समर्थन करता है:

यहाँ कुछ ब्लॉग पोस्ट आप के लिए उल्लेख करने के लिए कैसे PCLs में प्लेटफ़ॉर्म-विशिष्ट कार्यक्षमता दृष्टिकोण कर सकते हैं कर रहे हैं धारा वस्तुओं? क्योंकि इसे बंद करना चाहिए बस ठीक है। –

+2

के बजाय।() उपयोग करें।(), कोई समाधान नहीं है, क्योंकि कोई समस्या नहीं है ...फाइल सिस्टम एक्सेस को समेकित किया जाना चाहिए इंटरफेस के खिलाफ बस कोड। की जांच: [कड़ी] hthttps: //pclstorage.codeplex.com [कड़ी] (https://github.com/slodge/MvvmCross/tree/v3/Plugins/Cirrious/File) – Dan

उत्तर

8

Close() के बजाय Dispose() का उपयोग करें (या बस सब कुछ एक कथन में लपेटें)। हमने विंडोज स्टोर ऐप और नए पीसीएल में Close() को छुपाया/हटा दिया है, क्योंकि यह वही काम करता है और लोग इस बारे में उलझन में होंगे कि किसको कॉल करना है।

क्रॉस प्लेटफ़ॉर्म फ़ाइल सिस्टम पहुंच के लिए PCL Storage का उपयोग करने पर विचार करें।

+0

PCLStorage async है जो अक्सर असुविधाजनक है। विशेष रूप से यह .NET/Xamarin/WP8 पर async पीसीएल स्टोरेज का उपयोग करने में दुखी है जहां System.IO सभी प्लेटफ़ॉर्म पर मौजूद है। – Grigory

+0

जो कोई भी इस उत्तर को पढ़ता है जो पीसीएल स्टोरेज का उपयोग करेगा। पीसीएल स्टोरेज अब और नहीं बनाए रखा गया है, मैं सलाह देता हूं कि इसे उत्पादन अनुप्रयोग पर उपयोग न करें। निर्भरता इंजेक्शन का उपयोग करके अपने स्वयं के भंडारण समाधान को लागू करना पसंद करें – Tifa

2

(रोब कैपलन द्वारा) यहाँ पर जवाब मिला: http://social.msdn.microsoft.com/Forums/windowsapps/en-US/386eb3b2-e98e-4bbc-985f-fc143db6ee36/read-local-file-in-portable-library#386eb3b2-e98e-4bbc-985f-fc143db6ee36

फ़ाइल पहुँच विंडोज स्टोर ऐप्स और Windows Phone 8 क्षुधा के बीच portably नहीं किया जा सकता। आपको प्लेटफार्म विशिष्ट कोड का उपयोग करना होगा, पर फ़ाइल खोलें और एक स्ट्रीम प्राप्त करें। फिर आप स्ट्रीम को पीसीएल में पास कर सकते हैं।

के बाद से दोनों विंडोज स्टोर ऐप्स और Windows Phone 8 क्षुधा फ़ाइलें खोलने के लिए Windows.Storage से मूलतः एक ही विंडोज (फोन) रनटाइम कक्षाओं का उपयोग आप एक कोड जोड़ने के द्वारा (लेकिन द्विआधारी नहीं) कोड साझा कर सकते हैं दो परियोजनाओं के बीच फ़ाइल। लिंक के रूप में जोड़ें कोड साझा करें।

कोड साझा करने के लिए तकनीकों के लिए विंडोज फोन 8 और विंडोज 8 के बीच अधिकतम कोड पुन: उपयोग देखें।

यदि किसी के पास कोई अन्य समाधान है तो मुझे यह सुनना होगा; पीसीएल में .Close() विधियों के बारे में भी सोच रहा है।

संबंधित मुद्दे