2009-06-26 10 views
9

स्मृति, प्रदर्शन आदि के मामले में आंशिक कक्षाओं का उपयोग कर कोई ओवरहेड है?आंशिक कक्षाओं का उपयोग

यदि हम आंशिक वर्ग बनाते हैं तो हम पहचान सकते हैं कि कक्षा आंशिक थी या परावर्तक का उपयोग नहीं कर रही थी ??

उत्तर

16

नहीं। वे उसी आईएल में संकलित किए गए हैं जैसे कि वे आंशिक नहीं थे। यह पूरी तरह से संकलन-समय की बात है - सीएलआर यह भी नहीं जानता कि वे कभी आंशिक थे।

ध्यान दें कि partial methods सी # 3 में पेश किया गया है, यह विधि आईएल में तब तक उत्सर्जित नहीं होती है जब तक कि यह किसी एक फाइल में लागू नहीं होती है। कॉल और घोषणा दोनों संकलक द्वारा छीन लिया जाता है।

यह है कि यह नीचे संकलक एक millisecond के एक अगोचर अंश, ज़ाहिर है :)

+0

यदि हम आंशिक वर्ग बनाते हैं तो हम यह पहचान सकते हैं कि कक्षा आंशिक थी या परावर्तक का उपयोग नहीं कर रही थी ?? – rahul

+2

आंशिक रूप से व्हाइटस्पेस की तरह है, केवल एक ईओएफ शामिल है। कंपाइलर इसे पार करता है, लेकिन इसके बाद वहां कोई निशान नहीं है जो कभी अस्तित्व में था। –

+1

@ फीनिक्स: नहीं। केवल एक बार जब आप यह पता लगा सकते हैं कि आपके पास विश्लेषण करने के लिए डीबग प्रतीक थे, और पाया कि कुछ कोड एक फ़ाइल से आया है और कुछ दूसरे से हैं। –

3

नहीं, सभी वर्ग फ़ाइलों को संकलित समय पर समेकित किया जाएगा।

यहां आंशिक प्रकारों पर msdn article है।

प्रत्येक स्रोत फ़ाइल प्रकार या विधि परिभाषा का एक वर्ग शामिल है, और जब आवेदन संकलित किया गया है सभी भागों मिलाया जाता है।

2

नहीं। वे एक वर्ग में संकलित कर रहे हैं की धीमी गति से करेंगे संभव है। यह पूरी तरह से एक भाषा सुविधा है।