2010-11-21 17 views
6

मैं जा रहा हूँ कुछ ग # ट्यूटोरियल कि निम्नलिखित राज्यों:।वस्तु निर्माण

"के बाद यह विशेषता वर्ग पाता है, संकलक की जाँच करेगा विशेषता एक वर्ग पर अनुमति है या नहीं तो यह जाँच करेगा एक निर्माता के लिए जो विशेषता उपयोग में निर्दिष्ट पैरामीटर से मेल खाता है। यदि यह एक पाता है, तो यह निर्दिष्ट मूल्यों के साथ कन्स्ट्रक्टर को कॉल करके ऑब्जेक्ट का एक उदाहरण बनाता है "

इस पैराग्राफ का नाम" संकलन प्रक्रिया "है, और यह संकलक को गुणों को संभालता है जिस तरह से संदर्भित करता है। मुझे अज्ञानता के लिए खेद है, लेकिन रन टाइम पर उदाहरण नहीं बनना चाहिए?

धन्यवाद।

+2

उस उद्धरण के लिए खोज वास्तव में 1 परिणाम देता है: यह प्रश्न। आपने इसे कहां से लिया? – dtb

+0

ऐसा लगता है कि यहां संकलक "कोड संकलक उत्पन्न करता है" के पर्याय के रूप में उपयोग किया जा रहा है। – Hogan

उत्तर

3

गुण कक्षाओं के लिए मेटाडेटा परिभाषित करते हैं - कक्षा के प्रत्येक उदाहरण (यानी ऑब्जेक्ट) समान विशेषता मान साझा करेंगे। यह मेटाडेटा टाइप परिभाषा के साथ संग्रहीत है, जिसे एक बार स्रोत फ़ाइलों से संकलित समय पर गणना की जाती है।

1

एक "संकलन" प्रक्रिया है जो एक मध्यवर्ती कोड उत्पन्न करती है जिसका उपयोग .NET ढांचे का उपयोग करके किया जाता है।

यही कारण है कि वे संकलन प्रक्रिया के बारे में बात कर रहे हैं।

2

चूंकि ऐसे गुण भी हैं जो affect the compiler हैं, तो मुझे आश्चर्य नहीं होगा अगर संकलक संकलन करते समय उन्हें तुरंत चालू करें। तो क्या?

+0

मुझे नहीं पता था कि संकलक वस्तुओं को तुरंत चालू करता है। – user429400

+1

बल्कि असंभव लगता है। मुझे संदेह है कि संकलक गुणों को तत्काल करता है (यानी यह उपयोगकर्ता परिभाषित विशेषता के निर्माता को कॉल करता है)। – CodesInChaos

+0

एक कंपाइलर किसी ऑब्जेक्ट को तुरंत कैसे चालू करेगा ?? – miguel

0

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

और मुझे लगता है कि मेटा से सीधे विशेषता को तुरंत जांचने के लिए एक तरीका (प्रतिबिंब केवल संदर्भों से संबंधित) है।

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