2011-12-23 16 views
9

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

Properties.Settings.Default.MySetting 

और फिर उपयोग करके Save तरह के तरीकों कॉल:

Properties.Settings.Default.Save() 

हालांकि, किसी ने हाल ही मुझसे कहा था कि इसे और अधिक सही है

private Properties.Settings settings = new Properties.Settings() 

और फिर गुण और विधियों का उपयोग करने की सदस्य settings का उपयोग कर: इस तरह एक सदस्य चर बनाने के द्वारा गुण का उपयोग करने की जैसे:

settings.MySetting 
settings.Save() 

मैं थोड़ा याद करते हैं कि वे जिस तरह से सेटिंग उपयोगकर्ता के क्षेत्र में जमा हो जाती है में मतभेद का वर्णन करके इस जायज।

क्या कोई भी मतभेदों पर और जानकारी दे सकता है? बहुत धन्यवाद। इस प्रकार

उत्तर

10

Settings.Default आरंभ नहीं हो जाता:

private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 

तो यह लगभग एक ही Settings का एक उदाहरण के रूप में मैन्युअल रूप से बनाने है, सिवाय इसके कि Settings.Default द्वारा प्रदान की एक एक तुल्यकालन उदाहरण है। मुझे Settings मैन्युअल रूप से उदाहरण बनाने का कोई अच्छा कारण नहीं दिख रहा है ...

4

यह मेरा बहुत समय बर्बाद कर दिया।

[MyAppNameSpace].Properties.Settings.Default.Save(); 

सुनिश्चित नहीं हैं कि जब आप app.xaml.cs कोड मैं इसे संकलित करने के लिए प्राप्त करने के लिए नामस्थान निर्दिष्ट करने के लिए आवश्यक के रूप में ऊपर, लेकिन WPF में नाम स्थान छोड़ सकते हैं।

+1

धन्यवाद धन्यवाद! यह मुझे इतना समय बचाया! मजेदार कैसे मैं पहली बार हूं कि इसने 2.5 वर्षों के बाद मदद की है! यह app.xaml.cs – mdiehl13

+0

में काम किया, मुझे भी बचाया! यह नामस्थान के बिना काम करता है जब तक कि मैं इसे App.xaml.cs पर ले जाता हूं, फिर "फ़ील्ड प्रारंभकर्ता गैर स्थैतिक क्षेत्र का संदर्भ नहीं दे सकता"। ऐसा लगता है कि 'अनुप्रयोग' वर्ग पर 'गुण' सदस्य है जो यह अस्पष्ट था। – Vimes

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