सशर्त गुण

लेखक: Lewis Jackson
निर्माण की तारीख: 8 मई 2021
डेट अपडेट करें: 14 मई 2024
Anonim
S13.1 सशर्त अपेक्षा गुण
वीडियो: S13.1 सशर्त अपेक्षा गुण

विषय

परिभाषा - सशर्त गुण का क्या अर्थ है?

एक सशर्त विशेषता एक विधि या वर्ग को चिह्नित करने के लिए उपयोग किया जाने वाला एक टैग है जिसका निष्पादन प्रीप्रोसेसिंग पहचानकर्ता की परिभाषा पर निर्भर करता है।

सशर्त विशेषता सशर्त संकलन को निर्दिष्ट करने के लिए एक शर्त को इंगित करती है जिसमें प्रतीकों की परिभाषा के आधार पर चुनिंदा तरीके से कहा जाता है। यह संकलक को निर्देश देता है कि (Microsoft इंटरमीडिएट भाषा में) संकलित करें या किसी शर्त के आधार पर कोड के विशिष्ट ब्लॉकों को संकलित न करें - एक विशिष्ट सशर्त संकलन प्रतीक परिभाषित किया गया है या नहीं। यदि विशिष्ट प्रतीकों को उनके द्वारा बुलाए गए इंस्टेंट पर परिभाषित नहीं किया गया है, तो उस विधि या वर्ग को कॉल को कंपाइलर द्वारा अनदेखा किया जाएगा।


Microsoft Azure और Microsoft क्लाउड का परिचय | इस गाइड के दौरान, आप सीखेंगे कि क्लाउड कंप्यूटिंग क्या है और Microsoft Azure आपको क्लाउड से अपना व्यवसाय चलाने और चलाने में कैसे मदद कर सकता है।

टेकोपेडिया कंडिशनल अट्रैक्शन बताते हैं

एक सशर्त विशेषता में निम्नलिखित विशेषताएं हैं:

  • यह विधियों और कक्षाओं पर लागू किया जा सकता है, लेकिन केवल अगर वे एक विशेषता से प्राप्त होते हैं।
  • एक वर्ग के लिए सशर्त विशेषता को लागू करते समय, विशेषता वर्ग केवल मेटाडेटा के लिए उत्सर्जित किया जाएगा यदि सशर्त संकलन प्रतीक परिभाषित किया गया है।
  • यह एक पैरामीटर लेता है, जो कि संकलन को नियंत्रित करने वाला पहचानकर्ता प्रतीक है।
  • एक सशर्त विधि या विशेषता वर्ग के लिए दिए गए तर्क कंपाइलर द्वारा टाइप-चेक किए जाएंगे।
  • कंपाइलर द्वारा इसका पूरा ध्यान रखा जाता है न कि रन टाइम के हिसाब से।
  • यह एक प्रतिनिधि-निर्माण अभिव्यक्ति में प्रयुक्त विधि पर लागू नहीं किया जा सकता है।
  • यह सशर्त विधि के लिए उत्पन्न कोड को प्रभावित नहीं करता है, लेकिन विधि को कॉल को प्रभावित करता है।

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

सशर्त विशेषता का उपयोग करते हुए पालन करने के लिए कुछ नियम निम्नलिखित हैं:


  • एक वर्ग या संरचना घोषणा के अंदर एक सशर्त विधि में शून्य के रूप में एक वापसी प्रकार होना चाहिए।
  • सशर्त विशेषताओं के रूप में कई पहचानकर्ताओं का उपयोग करते हुए, विधि (ओं) का समावेश तार्किक या या तार्किक और परिभाषित प्रतीकों के परिणाम पर आधारित है।
  • यह एक इंटरफ़ेस घोषणा में एक विधि पर निर्दिष्ट नहीं किया जा सकता है।
  • एक सशर्त विधि "ओवरराइड" कीवर्ड से पहले नहीं हो सकती है, लेकिन यह आभासी हो सकती है। यदि ओवरराइड किया जाता है, तो इसे सशर्त रूप से सशर्त माना जाता है।
  • सशर्त संकलन के लिए विचार किए जाने वाले प्रतीकों को संकलक कमांड-लाइन विकल्पों के रूप में या ओएस शेल से पर्यावरण चर के रूप में या प्रोगाम के रूप में परिभाषित किया जा सकता है (प्रीप्रोसेसर निर्देश "#define") स्रोत कोड में।
  • C ++ के विपरीत, C # में प्रतीकों की परिभाषा किसी भी क्रम में हो सकती है और इसलिए "#define" और एक सशर्त विधि के बीच क्रम को ठीक से सेट करना होगा।

हालाँकि "#if और #endif" का उपयोग सशर्त विशेषता के लिए एक वैकल्पिक विकल्प बनाता है, बाद वाला पूर्व की तुलना में अधिक स्वच्छ, सुंदर और कम त्रुटि वाला दृष्टिकोण प्रदान करता है। आंतरिक रूप से, अंतर यह है कि एक विधि के लिए सशर्त विशेषता का उपयोग करते समय, विधि अभी भी विधानसभा का एक हिस्सा होगी और लोड नहीं किया जाएगा। लेकिन #if / #endif के मामले में, विधि विधानसभा में ही दिखाई नहीं देगी।


यह परिभाषा C # के कॉन में लिखी गई थी