2009-09-10 13 views
25

मुझे एक वर्ग में [Serializable] विशेषता जोड़ने की ज़रूरत है जो अत्यधिक प्रदर्शन संवेदनशील है।क्या कक्षा में [Serializable] जोड़ना कोई प्रदर्शन प्रभाव पड़ता है?

क्या इस विशेषता के वर्ग के संचालन पर कोई प्रदर्शन प्रभाव पड़ता है?

+0

केवल जब तक यह विशेषता का उदाहरण बनाने के लिए लेता है। क्यों, आपने क्या देखा है? –

+0

मैं सिर्फ समय से पहले पूछ रहा हूं, ताकि अगर कोई पेर्फ समस्या हो तो मुझे एक और समाधान नहीं बनाना पड़ेगा। – AngryHacker

उत्तर

23

विशेषता वर्गों के उदाहरण केवल तभी बनाए जाते हैं जब उन्हें पहली बार एक्सेस किया जाता है। यदि आप उस विशेष कक्षा पर कोई धारावाहिक नहीं करते हैं, तो SerializableAttribute() कन्स्ट्रक्टर कभी नहीं बुलाया जाएगा, इसलिए इससे कोई प्रदर्शन समस्या नहीं आएगी।

यहाँ विशेषता कंस्ट्रक्टर्स बारे में एक दिलचस्प लेख है: http://www.codingonthetrain.com/2008/10/attribute-constructors.html

7

गुण है, इसलिए वे क्रम में एक वर्ग के लिए वजन न जोड़ें एक मेटाडाटा एनोटेशन हैं जब तक कि वे यह है कि एक निश्चित तरीके से क्रम से व्याख्या कर रहे हैं कक्षा का अलग-अलग व्यवहार करें।

[सीरियलज़ेबल] बस एक मार्कर विशेषता है जो यह दर्शाता है कि कक्षा क्रमबद्ध है, इसका कोई प्रभाव नहीं पड़ता है और रनटाइम किसी भी विशेष तरीके से कक्षाओं का इलाज नहीं करता है।

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