जब मैं ऑब्जेक्ट प्रारंभकर्ता सी # में दिखाई देता था तो मैं बहुत उत्साहित था।सी # ऑब्जेक्ट प्रारंभकर्ता जटिलता। सर्वोत्तम अभ्यास
MyClass a = new MyClass();
a.Field1 = Value1;
a.Field2 = Value2;
कम लिखा जा सकता है:
MyClass a = new MyClass { Field1 = Value1, Field2 = Value2 }
ऑब्जेक्ट प्रारंभकर्ता कोड और अधिक स्पष्ट है, लेकिन जब गुण दर्जन के लिए आते हैं नंबर और यह मुश्किल है नल मूल्यों के साथ काम सौदों में से कुछ डिबग करने के लिए जहां "नल संदर्भ त्रुटि "है। स्टूडियो पूरे ऑब्जेक्ट प्रारंभकर्ता को त्रुटि बिंदु के रूप में दिखाता है।
आजकल मैं केवल त्रुटि मुक्त गुणों के लिए सीधे असाइनमेंट के लिए ऑब्जेक्ट प्रारंभकर्ता का उपयोग करता हूं।
आप जटिल असाइनमेंट के लिए ऑब्जेक्ट प्रारंभकर्ता का उपयोग कैसे करते हैं या दर्जनों आकलनों का उपयोग करने के लिए यह एक बुरा अभ्यास है?
अग्रिम धन्यवाद!
आमतौर पर मेरे पास व्यावसायिक वस्तुओं से निपटने पर ऐसा कोड होता है। गुण यूआई से आते हैं या विभिन्न तालिकाओं से आते हैं। –
मैं डीएओ में ऑब्जेक्ट प्रारंभकर्ताओं को नापसंद करता हूं क्योंकि आप आमतौर पर पाठक से फ़ील्ड प्राप्त कर रहे होते हैं और अक्सर ऐसा कुछ होता है जो गलत हो सकता है। आपको कोई कंपाइलर सुरक्षा नहीं मिलती है। आप वास्तव में इस मामले में यूनिट परीक्षण के साथ स्वयं को सुरक्षित नहीं कर सकते क्योंकि यह एकीकरण परीक्षण बन जाता है। डीबी के बाहर आम तौर पर उनके साथ जुड़े कुछ क्षेत्र होते हैं। हालांकि अगर असाइनमेंट तुच्छ हैं तो मैं ऑब्जेक्ट प्रारंभकर्ता का उपयोग करूंगा। – uriDium