2010-05-05 14 views
6

मैं सशर्त ("कंडीशन 1") विशेषता का उपयोग कैसे करूं जहां "कंडीशन 1" एक पर्यावरण चर है। मदद कहती है कि यह किया जा सकता है लेकिन यह नहीं कहता कि कैसे?सी # एक पर्यावरण परिवर्तनीय के साथ सशर्त() का उपयोग कर

+0

मैं संकलन समय स्विच के रूप में एक पर्यावरण चर का उपयोग करने का इरादा रख रहा था। #if (वातावरण चर मौजूद है) { // सामान } – Kaya

उत्तर

0

आपको envionment variable (उदा। 1 के मूल्य के साथ) बनाने के अलावा कुछ और करने की आवश्यकता नहीं है और फिर इसे ConditionalAttribute में नाम से संदर्भित करें। परिवर्तनीय सिस्टम गुण संवाद के उन्नत टैब के माध्यम से "पर्यावरण चर" संवाद में सुलभ होने की आवश्यकता होगी; यानी आप केवल कमांड प्रॉम्प्ट नहीं खोल सकते हैं और वहां चर सेट कर सकते हैं क्योंकि वह मान केवल उस प्रॉम्प्ट के भीतर मौजूद होगा और प्रॉम्प्ट बंद होने पर खो जाएगा।

5

मेरा मानना ​​है कि यह आप http://yogesh.jagotagroup.com/blog/post/2008/03/01/CSharp-Conditional-attribute.aspx

शब्द 'वातावरण चर' के लिए क्या देख रहे है वी.एस. पर्यावरण, नहीं ओएस या किसी अन्य को दर्शाता है। आप बस अपनी कक्षाओं या विधियों को DEBUG या किसी भी कस्टम चर के साथ टैग कर सकते हैं; फिर, संकलित होने पर ये कक्षाएं और विधियां अभी भी मौजूद हैं, लेकिन जब आईएल कोड उत्पन्न होता है, तो उन्हें आसानी से छोड़ दिया जाता है - यदि उस चर को परिभाषित नहीं किया गया है (जैसे उदाहरण कहता है)।

उम्मीद है कि इससे मदद मिलती है।

Pz, TaskConnect डेवलपर

+0

आप अपनी परियोजना के लिए गुण संपादक के तहत अतिरिक्त संकलन प्रतीकों जोड़ सकते हैं (डबल परियोजना में गुण नोड पर क्लिक करें) और फिर ConditionalAttribute – Will

3

सुनिश्चित नहीं हैं कि Conditional(string condition) करता है, लेकिन आप Environment.ExpandEnvironmentVariables का उपयोग कर अपने वातावरण चर मिल सकती है।


आप ConditionalAttribute के बारे में बात कर रहे हैं, तो आप भाग्य से बाहर रहे हैं। इस विशेषता का मूल्यांकन आपके विकास मशीन (या बिल्ड सर्वर पर) पर, COMPILE TIME पर किया जाता है। इसका RUNTIME पर कोई प्रभाव नहीं पड़ता है, जहां आप उपयोगकर्ता की मशीन स्थिति (जैसा कि पर्यावरण चर द्वारा इंगित किया गया है) के आधार पर कुछ अलग करना चाहते हैं।

आप किसी विधि के शरीर के भीतर निर्धारित करने के लिए Environment कक्षा की पूर्व उल्लिखित विधि का उपयोग कर सकते हैं, चाहे आपको निष्पादन जारी रखना चाहिए या नहीं। यह शायद आपकी सबसे अच्छी शर्त है।

+0

हाँ संकलन के भीतर उन संदर्भ समय था कि मैं क्या था। – Kaya

+0

बहुत बढ़िया @ कया। मुझे पूरा समय पसंद है। आप प्रोजेक्ट गुणों के भीतर पर्यावरण चर सेट अप कर सकते हैं, जो आपको चाहिए जो करना चाहिए (जब तक कि आप अलग-अलग मशीनों पर अलग-अलग चीजों को करने की कोशिश नहीं कर रहे हों)। – Will

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