वैकल्पिक विधि पैरामीटर के लिए रन-टाइम मानों का उपयोग करने का कोई तरीका भी है?सी # 4.0 में वैकल्पिक पैरामीटर संकलन-समय स्थिरांक की आवश्यकता क्यों है?
उत्तर
वैकल्पिक पैरामीटर स्थिरांक होने की आवश्यकता है क्योंकि उन्हें एक विशेषता के मान के रूप में लिखा जाता है। इसलिए वे सभी प्रतिबंधों का वारिस करते हैं जो एक विशेषता मूल्य है।
रनटाइम मान को सीधे एन्कोड करने का कोई तरीका नहीं है। लेकिन अगर आप पास निम्नलिखित पैटर्न
public void MyApi(SomeType type = null) {
type = type ?? new SomeType();
...
}
धन्यवाद, यह एक साफ चाल की तरह लगता है। जिज्ञासा से, क्या आप जानते हैं कि उन्हें विशेषताओं का उपयोग करके क्यों लागू किया जाता है? मुझे लगता है कि ढांचे में पहले से क्या है इसका पुन: उपयोग करना है? –
@ जोआन आईआईआरसी यह गुणों के साथ किया जाता है क्योंकि इस तरह अन्य भाषाओं (वीबी.नेट) ऐसा करते हैं और इसलिए यह उनके साथ संगतता प्रदान करता है। – JaredPar
@ जोआन: विशेषताओं का उपयोग करके, वे ऐसी भाषाएं नहीं तोड़ते हैं जिनके पास यह सुविधा नहीं है। याद रखें, .NET में सबकुछ एक ऐसे रूप में संकलित हो जाता है जिसे भाषा तटस्थ होने की आवश्यकता होती है ... विशेषताएँ किसी विशेष भाषा में वैकल्पिक पैरामीटर को संभालने का एक साफ तरीका है, अन्य .NET भाषाओं में परिवर्तनों को तोड़ने के बिना। –
वैकल्पिक पैरामीटर असेंबली में संकलित किए गए हैं और इस प्रकार (const
के रूप में नामित किसी भी चीज़ की तरह) वे एक संकलन-समय स्थिर होना चाहिए।
और नहीं, आप वैकल्पिक पैरामीटर के रूप में निष्पादन-समय मानों का उपयोग नहीं कर सकते हैं।
धन्यवाद लेकिन क्या यह रन-टाइम संदर्भ के संदर्भ के साथ संकलित नहीं हो सकता है? तो कुछ ऐसा कहें: यह। फिलेनाम, आदि एक ही कक्षा के भीतर? –
वैकल्पिक पैरामीटर संकलन समय पर निर्धारित कर रहे हैं, और विधि में प्रतिस्थापित करता है, तो आपके पास बहुत कम मानकों के साथ एक विधि कॉल के साथ मिल सकता है। विधि के आईएल में पैरामीटर में एक विशेषता जोड़ने के माध्यम से उन्हें संभाला जाता है।
इस प्रकार, उन्हें संकलन समय (दोनों सृजन के लिए, क्योंकि वे एक विशेषता है, लेकिन जब भी उपयोग किया जाता है) पर पूरी तरह से हल करने की आवश्यकता है। वैकल्पिक विधि पैरामीटर के लिए रनटाइम मानों का उपयोग करने का कोई तरीका नहीं है।
- 1. क्या यह एक सी # 4.0 कंपाइलर वैकल्पिक पैरामीटर बग है?
- 2. हमें "आउट" पैरामीटर की आवश्यकता क्यों है?
- 3. सी ++ में विनाशकों की आवश्यकता क्यों है?
- 4. सी # 4.0 वैकल्पिक पैरामीटर्स - प्रकार "वैकल्पिक" प्रकार के वैकल्पिक पैरामीटर निर्दिष्ट करने के लिए कैसे?
- 5. कुछ सी # वैकल्पिक पैरामीटर
- 6. स्ट्रिंग। सामग्री में सी # में पैरामीटर की आवश्यकता नहीं है?
- 7. एक सी # वैकल्पिक पैरामीटर
- 8. हमें सी # प्रतिनिधियों की आवश्यकता क्यों है
- 9. हमें संरचना की आवश्यकता क्यों है? (सी #)
- 10. क्या सी # में OptionalAttribute और वैकल्पिक पैरामीटर के बीच का अंतर 4.0
- 11. क्यों "{} \" की आवश्यकता है?
- 12. सी ++ एक पैरामीटर स्थिरांक साथ अधिक भार
- 13. एक वैकल्पिक पैरामीटर है कि एक और पैरामीटर की आवश्यकता उपस्थित होना होने
- 14. वैकल्पिक पैरामीटर
- 15. एंटरप्राइज़ आर्किटेक्ट: सी # वैकल्पिक पैरामीटर?
- 16. टाइपफ़ोफ़ की आवश्यकता क्यों है?
- 17. इस क्वेरी को पैरामीटर की आवश्यकता क्यों है?
- 18. गिनती() फ़ंक्शन को पैरामीटर की आवश्यकता क्यों होती है?
- 19. प्रबंधित सी ++/सीएलआई विधियों में वैकल्पिक पैरामीटर
- 20. रेल में संबंधित आवश्यकता, आवश्यकता-निर्भरता और स्थिरांक रीलोडिंग की आवश्यकता कैसे है?
- 21. सी # 4.0 में एक विधि में आउट पैरामीटर क्यों नहीं हो सकता है?
- 22. हमें सी ++ में शुद्ध आभासी विनाशक की आवश्यकता क्यों है?
- 23. उद्देश्य सी - क्यों स्थिरांक k
- 24. C++ समारोह:, स्थिरांक संदर्भ पैरामीटर
- 25. प्रिंटवाइटर की आवश्यकता क्यों है?
- 26. क्यों वेक्टर की आवश्यकता है?
- 27. ट्विस्ट की आवश्यकता क्यों है?
- 28. वैकल्पिक पैरामीटर?
- 29. $ रूट की आवश्यकता क्यों है?
- 30. सी # 4 में वैकल्पिक पैरामीटर पीछे संगत है?
संभावित डुप्लिकेट [C# में वैकल्पिक पैरामीटर के लिए डिफ़ॉल्ट मान के रूप में String.Empty का उपयोग नहीं कर सकता - तो बिंदु क्या है?] (Http://stackoverflow.com/questions/2701314/cannot-use-string-empty- एक-डिफ़ॉल्ट-मूल्य-के-एक-वैकल्पिक-पैरामीटर-इन-सी-तेज) – nawfal