2011-06-30 19 views
13

से सभी स्ट्रिंग प्राप्त करें मुझे एक प्रोग्राम लिखना है, जो सभी स्ट्रिंग संसाधनों को डीएलएल से पढ़ता है और उन्हें कुछ तालिका में डाल देता है।संसाधन प्रबंधक

private static IEnumerable<KeyValuePair<string,string>> getAllResources(ResourceManager resourceManager, 
     Language language) 
    { 

     ResourceSet resourceSet = resourceManager.GetResourceSet(getCulture(language), true, true); 

     IDictionaryEnumerator dictNumerator = resourceSet.GetEnumerator(); 

     // Get all string resources 
     while (dictNumerator.MoveNext()) 
     { 
      // Only string resources 
      if (dictNumerator.Value is string) 
      { 
       var key = (string)dictNumerator.Key; 
       var value = (string)dictNumerator.Value; 
       yield return new KeyValuePair<string, string>(key, value); 
      } 
     } 
    } 

लेकिन जब मैं इसे का उपयोग शुरू कर दिया, मैंने देखा है कि यह भी संसाधनों पढ़ता है, कि (फ़ाइल सामग्री को पढ़ता है)

मैं कैसे अनदेखा कर सकते हैं एक फ़ाइल की तरह कहा: मैं विधि है, कि संसाधनों पढ़ता संसाधन जो "फ़ाइल" के रूप में जोड़े जाते हैं, और केवल स्ट्रिंग पढ़ते हैं?

+0

क्या मूल्य पर 'as' कास्टिंग का उपयोग करना संभव नहीं होगा? –

+0

मैं "है" के बजाय "as" का उपयोग कर सकता हूं, लेकिन यह मेरी समस्या को हल नहीं कर रहा है – Oleksey

उत्तर

2

ऐसा करने का कोई तरीका नहीं है। उदाहरण के लिए, प्रतिबिंबक के माध्यम से आप असेंबली के संसाधन अनुभाग पर नज़र डालें। आपकी टेक्स्ट फ़ाइल स्ट्रिंग के रूप में सहेजी गई है। स्ट्रिंग मान और टेक्स्ट फ़ाइल मान के बीच कोई अंतर नहीं है।

बाइनरी फ़ाइलें, हालांकि, बाइनरी फ़ाइल प्रकारों के लिए बाइट [] के रूप में आपके पास बाइट [] के रूप में मूल्य और स्ट्रिंग नहीं होगी।

+0

हाँ, बाइनरी फ़ाइलें कोई समस्या नहीं है। केवल पाठ फ़ाइलों के साथ समस्या। लेकिन जब मैं विजुअल स्टूडियो 2010 में संसाधन देख रहा हूं, तो उन्हें टाइप करके क्रमबद्ध किया जाता है: "स्ट्रिंग्स" \ "फ़ाइलें" \ "छवियां" \ "प्रतीक"। वे यह कैसे कर रहे हैं? – Oleksey

+0

ये विजुअल स्टूडियो का संसाधन प्रतिनिधित्व है। यह फ़ाइलों को असेंबली में संसाधन के रूप में लोड करने के लिए फ़ाइलों और चित्रों और आइकन स्थानों का उपयोग करता है। उसके बाद, आपके पास बिटमैप, स्ट्रिंग या बाइट [] डेटा के साथ केवल असेंबली है। – DiVan

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