सेटिंग के लिए शून्य प्रकार (यानी int?
) का उपयोग करने का एक तरीका है - इसे सेटिंग्स फ़ाइल का मैन्युअल संपादन करने की आवश्यकता है, लेकिन बाद में वीएस पर्यावरण और कोड में ठीक काम करता है। और कोई अतिरिक्त फ़ंक्शन या रैपर की आवश्यकता नहीं है।
ऐसा करते हैं, वांछित नाम (जैसे RequiredNumberOfLimit) के साथ एक सेटिंग बना सकते हैं और किसी भी प्रकार (उदाहरण के लिए मानक int
सुविधा के लिए) का यह बनाने के लिए। परिवर्तनों को सहेजें।
अब अपनी परियोजना फ़ोल्डर में जाने के लिए और पाठ संपादक (नोटपैड, उदाहरण के लिए) के साथ "गुण \ Settings.settings" फ़ाइल को खोलने या आप "पर < आपका परियोजना > वी.एस. में खोल सकते हैं समाधान Explorer में राइट-क्लिक करके -> गुण -> सेटिंग्स.सेटिंग "," इसके साथ खोलें ... "चुनें और फिर" एक्सएमएल संपादक "या" स्रोत कोड (टेक्स्ट) संपादक "चुनें। खोला एक्सएमएल सेटिंग्स में अपनी सेटिंग को खोजने (यह इस तरह दिखेगा):
<Setting Name="RequiredNumberOfLimit" Type="System.Int32" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
बदलें System.Int32
से System.Nullable<System.Int32>
"प्रकार" परम। और डिफ़ॉल्ट मान भी साफ़ करें (इसलिए डिफ़ॉल्ट रूप से शून्य का उपयोग किया जा सकता है)। अब इस खंड इस तरह दिखना चाहिए (ध्यान दें कि <
और >
प्रकार स्ट्रिंग के अंदर <
और >
प्रतीकों का प्रतिनिधित्व करने के लिए उपयोग किया जाता है - इस वी.एस. द्वारा एक्सएमएल का सही पार्सिंग के लिए किया जाता है):
<Setting Name="RequiredNumberOfLimit" Type="System.Nullable<System.Int32>" Scope="User">
<Value Profile="(Default)" />
</Setting>
अब परिवर्तनों को सहेजने और परियोजना सेटिंग्स फिर से खोलें - voilà! - हमारे पास आवश्यक हैम्बरऑफलिमिट टाइप System.Nullable<System.Int32>
के साथ जो VS सेटिंग्स डिज़ाइनर द्वारा सही ढंग से पार्स किया गया है, साथ ही इसे कोड में सामान्य int?
चर के रूप में उपयोग किया जा सकता है।
यदि आप यह सेटिंग null
वापस करने में सक्षम होना चाहते हैं तो आपको डिफ़ॉल्ट मान फ़ील्ड को स्पष्ट रखना चाहिए। अन्यथा, डिफ़ॉल्ट मान को इस सेटिंग द्वारा वापस कर दिया जाएगा यदि इसे पहले शून्य करने के लिए असाइन किया गया था (लेकिन यह है कि डिफ़ॉल्ट मान कैसे काम करते हैं, है ना?: पी)।
स्रोत
2010-11-25 10:43:33
उपयोग वर के बजाय? – Gage
@Gage: मुझे लगता है कि यह बिंदु गुम है। वह सेटिंग * परिभाषित * को 'int' के रूप में चाहता है। –