2009-08-26 15 views
10

प्रोटोबफ-नेट का उपयोग करके, मुझे लगता है कि पैरामीटर रहित कन्स्ट्रक्टर के बिना कक्षा को विलुप्त करना संभव नहीं लगता है या मुझे कुछ याद आ रहा है?क्या पैरामीटर रहित कन्स्ट्रक्टर के बिना कक्षा के साथ प्रोटोबफ-नेट का उपयोग करना संभव है?

मैं पैरामीटर रहित कन्स्ट्रक्टर वाले कुछ वर्ग नहीं चाहता हूं। क्या कोई ऐसी विशेषताएं हैं जिनका मैं उपयोग कर सकता हूं या कुछ अन्य तकनीक?

उत्तर

13

प्रोटोबफ-नेट वर्तमान में काम करने के लिए पैरामीटर रहित कन्स्ट्रक्टर होने पर निर्भर करता है।

हालांकि कन्स्ट्रक्टर को सार्वजनिक (it will use reflection if need be to invoke it) की आवश्यकता नहीं है, इसलिए आप प्रोटोबफ-नेट (क्यों एक टिप्पणी जोड़कर) द्वारा उपयोग के लिए आवश्यक निजी कन्स्ट्रक्टर को परिभाषित करने में सक्षम हो सकते हैं और वहां विशिष्ट क्रमबद्धता संबंधी मुद्दों से निपट सकते हैं।

यह आपके बाकी एपीआई को 'अवैध' उदाहरण बनाने में सक्षम होने से रोकता है।

मार्क बताता है कि यदि आप बाहरी संदेश वस्तु के बारे में बात कर रहे हैं, तो आप ऑब्जेक्ट स्वयं भी बना सकते हैं और Serializer.Merge को कॉल कर सकते हैं। लेकिन अगर इसे किसी ऑब्जेक्ट को बनाने की आवश्यकता है (क्योंकि वर्तमान में इसमें शून्य उदाहरण है, या सूची/सरणी में नए आइटम हैं), तो यह एक डिफ़ॉल्ट कन्स्ट्रक्टर की तलाश में है।

+0

पैरामीटर रहित कन्स्ट्रक्टर कहलाता है? अन्य क्षेत्रों को अद्यतन करने से पहले? – mcmillab

4

ShuggyCoUk पैरामीटर रहित कन्स्ट्रक्टर का उपयोग कर इसके बारे में सही है।

बस संपूर्णता के लिए

, हालांकि - अगर आप सबसे बाहरी संदेश वस्तु के बारे में बात कर रहे हैं, आप भी वस्तु अपने आप बना सकते हैं और Serializer.Merge कह सकते हैं। लेकिन अगर इसे किसी ऑब्जेक्ट को बनाने की आवश्यकता है (क्योंकि वर्तमान में इसमें null उदाहरण है, या किसी सूची/सरणी में नए आइटम के लिए), तो यह एक डिफ़ॉल्ट कन्स्ट्रक्टर की तलाश में है।

मैं कि मैं भी विशेषता में कुछ मार्कअप कहते हैं "बस FormatterServices के माध्यम से एक कच्चे वस्तु बनाने के" प्रदान कर सकता है लगता है , लेकिन यह (एक निजी parameterless निर्माता के साथ तुलना में) अनावश्यक लगता है, और सभी प्लेटफार्मों पर काम नहीं कर सकता (सिल्वरलाइट, सीएफ, आदि - संभावित समस्याएं हैं)।

+0

मुझे लगता है कि आपने यह किया है कि आपने क्या किया है ('FormatterServices') SkipConstructor विकल्प के साथ जो इन दिनों उपलब्ध है? – DeCaf

+0

@ डीकैफ़ हां, यही वह है जो करता है –

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

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