CTOR का अर्थ क्या है?


221

बहुत सी सी # फाइलों में मैं क्षेत्रों के टैग (?) सहेजता हूं जिनका नाम CTOR या ctor है। Ctor का मतलब क्या है? ऐसे क्षेत्र को ctor क्यों कहा जाता है?

जवाबों:


305

यह "कंस्ट्रक्टर" के लिए केवल शॉर्टहैंड है - और यह है कि कंस्ट्रक्टर को आईएल में भी कहा जाता है। उदाहरण के लिए, परावर्तक को खोलें और एक प्रकार देखें और आपको .ctorविभिन्न निर्माणकर्ताओं के लिए बुलाए गए सदस्य दिखाई देंगे ।


3
इसे .ctor क्यों कहा जाता है सामने डॉट (?) का क्या अर्थ है?
isuruceanu

@isuruceanu: मुझे संदेह है कि यह दिखाने के लिए कि यह एक आरक्षित नाम है। हालांकि सिर्फ एक अनुमान है।
जॉन स्कीट

Xxx के बारे में क्या है। # ctor ()? , यह मेरे FxCop निष्पादन को विफल करता है। stackoverflow.com/questions/17024149/…
एंड्रियास ब्लोमकविस्ट

8
@ जेसे: मैंने शायद ही कभी इसका उच्चारण सुना है, लेकिन मैं इसे "सी-टॉर" घोषित करूंगा।
जॉन स्कीट

5
@isuruceanu कुछ भी "से शुरू होता है।" IL में मेटाडाटा है।
जूड

45

आमतौर पर इस क्षेत्र में वर्ग के निर्माता शामिल होने चाहिए


2
"होना चाहिए" - इसका मतलब यह है कि एक .ctor हमेशा एक निर्माता का संदर्भ नहीं है? या सिर्फ इतना है कि यह हमेशा एक वर्ग के निर्माता का संदर्भ नहीं देता है (क्योंकि यह उदाहरण के लिए एक संरचना को संदर्भित कर सकता है)?
cogumel0

@ cogumel0 या इसके बजाय " s में सम्‍मिलित होना चाहिए ; ;-)
Sнаƒошӽаӽ

36

थोड़ा और विस्तार करने के लिए, दो प्रकार के कंस्ट्रक्टर हैं: उदाहरण इनिशियलाइज़र (.ctor), इनिशियलाइज़र (.cctor)। नीचे दिए गए कोड का निर्माण करें, और ildasm.exe में IL कोड का पता लगाएं। आप देखेंगे कि स्थैतिक क्षेत्र 'b' को .cctor () के माध्यम से प्रारंभ किया जाएगा, जबकि उदाहरण फ़ील्ड को ट्रैक्टर के माध्यम से आरंभ किया जाएगा ()।

internal sealed class CtorExplorer
{
   protected int a = 0;
   protected static int b = 0;
}

14

"Ctor" टाइप करें और TAB कुंजी को दो बार दबाएं इससे डिफ़ॉल्ट कंस्ट्रक्टर अपने आप जुड़ जाएगा


VS2013 में (और R # 2016.1 का उपयोग करके) मुझे केवल एक बार टैब दबाना है। वीएस / आर # के अन्य संस्करणों के बारे में निश्चित नहीं है
rombinmckenzie

13
यह सवाल का जवाब नहीं है।
मालफिस्ट

9
जवाब नहीं, इतना नीचा। लेकिन यह जानने के लिए एक दिलचस्प बात है, इसलिए अनधिकृत। :-)
Sain --ошƒаӽ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.