log4net configuration manual लेखक typeof(MyApp)
का उपयोग करता युक्त वर्ग MyApp
के प्रकार के प्राप्त करने के लिए के पहले उदाहरण में। क्या this.GetType()
का उपयोग करने का कोई कारण नहीं है, प्रदर्शन के अनुसार? क्योंकि ऐसा लगता है कि this.GetType()
किसी अन्य वर्ग में कॉपी करते समय संभावित प्रति-पेस्ट त्रुटियों से अधिक सुरक्षित है।सी # प्रदर्शन प्रश्न: typeof (MyClass) बनाम this.GetType()
उत्तर
टाइपऑफ (फू) एक स्थिर प्रकार का लुकअप है; अनिवार्य रूप से यह संकलन समय पर होता है, इसलिए आपको केवल स्पष्ट रूप से नामित प्रकार मिलता है।
GetType() एक गतिशील प्रकार लुकअप है; यह एक वर्चुअल विधि है जिसे रनटाइम पर बुलाया जाता है और यदि आप पॉलिमॉर्फिज्म का उपयोग कर रहे हैं तो भी आपको सटीक प्रकार देगा। तो यह सैद्धांतिक रूप से "धीमा" है, लेकिन यह आपको कुछ दे रहा है जिसे आप टाइपफ़ो (टी) से नहीं प्राप्त कर सकते हैं। अगर आपको अपने डिजाइन के लिए एक या दूसरे की ज़रूरत है, तो गति एक कारक नहीं होने वाली है।
माइक - आपने थ्रो 'द' टिप्पणियां काट दीं और यहां एक संक्षिप्त परिभाषा प्रदान की। +1 –
प्रदान किए गए उदाहरण में GetType
प्रदर्शन विकल्प एक विकल्प भी नहीं है क्योंकि यह उदाहरण विधि है; इसे एक फील्ड-प्रारंभकर्ता से नहीं कहा जा सकता है। किसी भी मामले में, चूंकि एक स्थिर 'संदर्भ' से स्थैतिक फ़ील्ड प्रारंभ करना है, तर्कसंगत रूप से this
संदर्भ उपलब्ध नहीं हो सकता है - इसलिए स्थैतिक-रचनाकार मार्ग नीचे जाकर GetType
को अनुमति देने में सहायता नहीं होगी।
// Can't use GetType() - the this reference is not available.
private static readonly ILog log = LogManager.GetLogger(typeof(MyApp));
आप सही हैं, मेरे बारे में बेवकूफ 'स्थिर' कीवर्ड को नोटिस नहीं करना :) –
@Ani, लेकिन प्रदर्शन के बारे में क्या, जब वस्तु और प्रकार दोनों नाम ज्ञात हैं? – Shimmy
- 1. ढेर फ्रेम प्रश्न: जावा बनाम सी ++
- 2. MySQL तैयार कथन बनाम सरल प्रश्न प्रदर्शन
- 3. typeof
- 4. सी ++ प्रदर्शन, बनाम
- 5. मानचित्र बनाम मल्टीमैप सी ++ (प्रदर्शन)
- 6. रनटाइम पर "MyClass: OtherClass <MyClass> {}" टाइप करें?
- 7. जेनिक्स: टी MyClass बनाम टी बढ़ाता है MyClass <T>
- 8. एसक्यूएल सर्वर बनाम सबक्वेरी प्रदर्शन प्रश्न में शामिल होने
- 9. प्रदर्शन प्रश्न: डिप्लिकेट कुंजी अपडेट बनाम अद्यतन (MySQL)
- 10. डब्लूपीएफ प्रदर्शन प्रश्न: तत्वों पर ब्रश बनाम अस्पष्टता पर अस्पष्टता
- 11. प्रदर्शन या प्रदर्शन का प्रदर्शन (||) बनाम ऐरे()
- 12. एनएचबीर्नेट एचक्यूएल बनाम मानदंड बनाम क्वेरीरी बनाम लिंक बनाम। प्रदर्शन
- 13. डेटाकंट्रैक्टसेरियलाइज़र बनाम बाइनरीफॉर्मेटर प्रदर्शन
- 14. - प्रदर्शन बनाम भविष्य
- 15. सी ++ एसटीएल: ऐरे बनाम वेक्टर: कच्चे तत्व का प्रदर्शन प्रदर्शन
- 16. MyClass :: GetMessageMap() और MyClass :: GetRuntimeClass (MSVC 2008)
- 17. प्रदर्शन: बाइनरीफॉर्मेटर बनाम एक्सएमएलएसरियलाइज़र
- 18. सी ++ ऐरे बनाम वेक्टर प्रदर्शन परीक्षण स्पष्टीकरण
- 19. सी ++ रिटर्न वैल्यू बनाम अपवाद प्रदर्शन
- 20. स्टेटिक बनाम इंस्टेंस विधि प्रदर्शन सी #
- 21. प्रदर्शन: XDocument बनाम XmlDocument
- 22. ओपनजीएल निम्न-स्तरीय प्रदर्शन प्रश्न
- 23. कैलियर प्रदर्शन बनाम UIImageView प्रदर्शन
- 24. फोनगैप ऐप प्रदर्शन बनाम देशी ऐप प्रदर्शन
- 25. क्या typeof (jQuery)
- 26. अपरिभाषित, typeof अपरिभाषित, hasOwnProperty
- 27. decltype, result_of, या typeof?
- 28. strftime प्रदर्शन बनाम snprintf
- 29. प्रदर्शन - Date.now() बनाम Date.getTime() बनाम
- 30. सी # - जीसी.GetTotalMemory() प्रश्न
जब आपके पास कोई उदाहरण नहीं है, तो केवल TYPEOF उपलब्ध है, है ना? –