c# उपय सी#में संसाधन फ़ाइलों के लिए गतिशील संदर्भ




स्थानीय संसाधनों (2)

मेरे पास एक आवेदन है जिस पर मैं स्थानीयकरण को लागू कर रहा हूं।

मुझे अब resouce फ़ाइल में एक नाम को गतिशील रूप से संदर्भित करना होगा।

मान लीजिए मेरे पास एक संसाधन फ़ाइल है, जिसका नाम है लॉग इन .रेक्स, एक कई स्ट्रिंग्स: foo = "हैलो", बार = "क्रूर" और बाज़ = "दुनिया"

सामान्यतया, मैं इस रूप में देखेंगे: स्ट्रिंग परिणाम = लॉगिन.फू; और परिणाम == "हैलो";

मेरी समस्या यह है, कि कोड समय पर, मुझे नहीं पता कि मैं फ़ू, बार या बाज़ को संदर्भित करना चाहता हूं - मेरे पास एक स्ट्रिंग है जिसमें "foo", "bar" या "baz" शामिल है

मुझे ऐसा कुछ चाहिए:

लॉगिन [ "foo"];

क्या किसी को पता है कि किसी संसाधन फ़ाइल में एक तार को गतिशील रूप से संदर्भित करने का कोई तरीका है?


अगर आपने App_GlobalResources फ़ोल्डर में अपनी संसाधन फ़ाइल डाल दी है जैसे मैंने किया था, तो आपको उपयोग करने की आवश्यकता है

वैश्विक :: सिस्टम। संसाधनों। रिसोर्समैनेजर temp = नया वैश्विक :: सिस्टम। संसाधन। रिसोर्स प्रबंधक ("रूट नामस्पेस। लॉगिन", वैश्विक :: सिस्टम। रिफ़ाइनिंग। विधानसभा। लोड ("App_GlobalResources"));

मुझे यह समझने में थोड़ी देर लग गई। उम्मीद है कि यह किसी को मदद करेगा :)


आपको Login.resx लिए एक ResourceManager Login.resx को Login.resx करने की आवश्यकता होगी:

var resman = new System.Resources.ResourceManager(
    "RootNamespace.Login",
    System.Reflection.Assembly.GetExecutingAssembly()
)
var text = resman.GetString("resname");

यह आईडीई द्वारा बनाई गई संसाधन फ़ाइलों की कोड-पीछे की फ़ाइलों में उत्पन्न कोड को देखने में मदद कर सकता है इन फ़ाइलों में मूल रूप से प्रत्येक संसाधन के लिए पठन-योग्य गुण होते हैं जो एक आंतरिक संसाधन प्रबंधक को क्वेरी करता है।





localization