मैं FIELDS पर संपत्ति के फायदों को समझता हूं, लेकिन मुझे लगता है कि मैन्युअल कार्यान्वित गुणों पर ऑटो-लागू गुणों का उपयोग करने से वास्तव में कोड को देखने के लिए थोड़ा और संक्षिप्त बनाने के अलावा कोई लाभ नहीं मिलता है।मैन्युअल कार्यान्वित गुणों पर ऑटो-लागू गुणों का उपयोग करने का कोई कारण?
private string _postalCode;
public string PostalCode
{
get { return _postalCode; }
set { _postalCode = value; }
}
बजाय::
मैं और अधिक आरामदायक का उपयोग कर लग रहा है
public string PostalCode { get; set; }
इसका मुख्य कारण है कि अगर मैं कभी मिलता है और सेट के कस्टम कार्यान्वयन के किसी भी प्रकार करना चाहते हैं, मैं बनाने के लिए वैसे भी मेरी निजी संपत्ति एक निजी क्षेत्र द्वारा समर्थित है। तो क्यों शुरुआत से बुलेट को काटते हैं और निरंतरता के लिए सभी गुणों को इस लचीलापन को तुरंत देते हैं? यह वास्तव में एक अतिरिक्त सेकंड नहीं लेता है, यह देखते हुए कि आपको विजुअल स्टूडियो में जो करना है, वह आपके निजी फ़ील्ड नाम पर क्लिक करें, और Ctrl + E दबाएं, और आप कर चुके हैं। और यदि मैं इसे मैन्युअल रूप से करता हूं, तो मैं असंगतता के साथ समाप्त होता हूं जिसमें कुछ विशेष रूप से निजी फ़ील्ड द्वारा समर्थित सार्वजनिक गुणों और कुछ ऑटो-कार्यान्वित गुणों का निर्माण किया जाता है। मैं चारों ओर सुसंगत होने के साथ-साथ सभी ऑटो या सभी मैनुअल के साथ बेहतर महसूस करता हूं।
क्या यह सिर्फ मुझे है? क्या मैं कुछ भूल रहा हूँ? क्या मैं कुछ भूल गया हूँ? क्या मैं स्थिरता पर बहुत अधिक जोर दे रहा हूं? मैं हमेशा सी # सुविधाओं के बारे में वैध चर्चाएं पा सकता हूं, और लगभग हर चीज के लिए हमेशा पेशेवर और विपक्ष होते हैं, लेकिन इस मामले में, मैं वास्तव में ऑटो-कार्यान्वित गुणों का उपयोग करने के खिलाफ अनुशंसा करने वाले किसी भी व्यक्ति को नहीं ढूंढ पाया।
आप कह रहे हैं कि आप अब भी ऐसा कर सकते हैं - क्योंकि भविष्य में आपको शायद 'कुछ ऐसा करने में समय बर्बाद क्यों करें जो त्रुटि के लिए प्रवण है (आप संभवत: प्रतिलिपि बनाना और पेस्ट करना समाप्त कर देंगे), जब आप केवल तभी ऐसा कर सकते हैं जब आवश्यक हो? – Rob
धन्यवाद रॉब। मेरा तर्क यह है कि विजुअल स्टूडियो के साथ, मैं केवल एक अतिरिक्त कुंजी प्रेस के साथ मैन्युअल रूप से कार्यान्वित गुण बना सकता हूं, इसलिए कोई कॉपी/पेस्टिंग नहीं है। और अगर किसी दिन मुझे अपना खुद का कार्यान्वयन करने की ज़रूरत है, तो मैं ऑटो-कार्यान्वित गुणों और मैन्युअल रूप से कार्यान्वित गुणों के बीच एक गड़बड़ी के साथ समाप्त नहीं होता, यह 100% एक या 100% दूसरा है। शुरुआत से मैन्युअल पर पूरी तरह से जाकर, मैं किसी भी समय अपने गुणों को स्वत: कार्यान्वित किए बिना अपना स्वयं का कार्यान्वयन कर सकता हूं, और कुछ गुण मैन्युअल हो सकते हैं। हालांकि, मैं निश्चित रूप से आपका बिंदु देखता हूं। – CptSupermrkt
उस स्थिति में, मैं 100% मैन्युअल कार्यान्वयन के साथ चिपकने में आपके साथ हूं .. वीएस 2010 (कम से कम) में मैन्युअल गेटर्स/सेटर्स – Rob