.NET (कम से कम < = 2) में ऑब्जेक्ट्स को क्रमबद्ध करने में समस्या होती है जो घटनाओं को बढ़ाती है जब उन घटनाओं को गैर-धारावाहिक वस्तु (जैसे विंडोज फॉर्म) द्वारा नियंत्रित किया जाता है।क्या .NET 3/4 अनुमतियाँ बाइनरी डी/सीरियलाइज्ड होने की अनुमति है?
वीबीएनईटी घटनाओं को लागू करता है, जब आप किसी ऑब्जेक्ट को क्रमबद्ध करते हैं, तो इसकी घटनाओं को भी क्रमबद्ध किया जाता है (क्योंकि घटनाएं वास्तव में छिपी मल्टीकास्ट प्रतिनिधि फ़ील्ड का उपयोग करके लागू की जाती हैं)। इसका एक दुष्प्रभाव यह है कि किसी भी वस्तु जो धारावाहिक होने वाली वस्तु द्वारा उठाई गई घटनाओं को संभालती है उसे ऑब्जेक्ट ग्राफ़ का हिस्सा माना जाएगा और इसे क्रमबद्ध भी किया जाएगा।
कुछ समाधान पाया जा सकता है, कस्टम क्रमबद्धता को लागू करने या घटनाओं के बजाय प्रतिनिधियों का उपयोग कर:
- http://www.codeproject.com/KB/vb/serializevbclasses.aspx
- http://www.lhotka.net/WeBlog/CommentView.aspx?guid=776f44e8-aaec-4845-b649-e0d840e6de2c
हालांकि उनमें से कोई भी पूरी तरह से लेखकों और उपयोगकर्ताओं को संतुष्ट करने लगता है।
क्या .NET 3/4 इस समस्या को हल करता है?
यह समस्या VB.NET के लिए विशिष्ट नहीं है - यह नेट कैसे काम करता है। –
हालांकि सी # ve के साथ '[फ़ील्ड: NonSerialized]' का उपयोग कर एक और अधिक "लचीला" समाधान मिल सकता है। कम से कम, समस्या को हल करने के लिए पूरक सहायक कोड लिखने की कोई विशेष आवश्यकता नहीं है। – serhio
@ सेरहियो: क्या यह विशेषता वीबी भी काम नहीं करती है? क्यों नहीं? मैं 'WithEvents' के बारे में बात नहीं कर रहा हूँ। –