2011-06-16 16 views
9

मैं अपनी एप्लिकेशन सेटिंग्स को सी # रास्ता (Properties.Settings.Default.Save();) स्टोर करता हूं। सेटिंग्स तो फ़ोल्डर में सी # क्रम से जमा हो जाती है:.NET रनटाइम मेरी स्ट्रिंग में अंडरस्कोर क्यों जोड़ता है?

C:\Users\UserName\AppData\Local\My_Company_Name 

अजीब बात है कि मैं में प्रवेश किया "मेरी कंपनी का नाम" दृश्य स्टूडियो ([assembly: AssemblyCompany("My Company Name")]) में कंपनी प्रॉपर्टी के रूप में है।

तो, अंडरस्कोर कहां से आते हैं? मैंने अन्य ऐप्स को रिक्त स्थान के साथ फ़ोल्डर्स बनाने के लिए देखा है ...

उत्तर

13

समस्या यह है कि आप "मेरा कंपनी नाम" नामक property जोड़ रहे हैं। यह C# में वैध member नाम नहीं है, इसलिए यह स्वचालित रूप से आपके लिए वैध नाम में बदल जाता है: "My_Company_Name"

वही बात होती है यदि आप "मेरा प्रोजेक्ट" नामक एक नई परियोजना बनाते हैं। आपकी परियोजना का डिफ़ॉल्ट namespace "मेरा प्रोजेक्ट" नहीं होगा क्योंकि यह मान्य नहीं है। डिफ़ॉल्ट namespace वीएस आपके लिए बनाएगा "My_Project" होगा।

+5

+1। इस बात से सहमत। बस उद्धरण जोड़ना 'प्रत्येक एप्लिकेशन सेटिंग में एक अद्वितीय नाम होना चाहिए; नाम अक्षरों, संख्याओं, या अंडरस्कोर का कोई संयोजन हो सकता है जो किसी संख्या से प्रारंभ नहीं होता है, और इसमें [spms] से कोई स्थान नहीं हो सकता है (http://msdn.microsoft.com/en-us/library/a65txexh% 28v = vs.80% 29.aspx) – Reniuz

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