नोट: यह तब पोस्ट किया गया जब मैं C # शुरू कर रहा था। 2014 के ज्ञान के साथ, मैं वास्तव में कह सकता हूं कि ऑटो-प्रॉपर्टी सबसे अच्छी चीजों में से एक है जो कभी भी सी # भाषा के साथ हुई।
मैं निजी और सार्वजनिक क्षेत्र का उपयोग करके C # में अपनी संपत्ति बनाने के लिए उपयोग किया जाता हूं:
private string title;
public string Title
{
get { return title; }
set { title = value; }
}
अब .NET 3.0 के साथ , हमें ऑटो-प्रॉपर्टी मिली:
public string Title { get; set; }
मुझे पता है कि यह एक दार्शनिक / व्यक्तिपरक प्रश्न है, लेकिन क्या प्रत्येक क्षेत्र के लिए पांच पंक्तियों को सहेजने के अलावा इन ऑटो-गुणों का उपयोग करने का कोई कारण है? मेरी निजी पकड़ यह है कि वे गुण मुझसे सामान छिपा रहे हैं, और मैं काले जादू का बहुत बड़ा प्रशंसक नहीं हूं।
वास्तव में, छिपा हुआ निजी क्षेत्र डिबगर में भी दिखाई नहीं देता है, जो ठीक है कि तथ्य यह है कि गेट / सेट फ़ंक्शंस कुछ भी नहीं करते हैं। लेकिन जब मैं वास्तव में कुछ गटर / सेटर लॉजिक को लागू करना चाहता हूं, तो मुझे वैसे भी निजी / सार्वजनिक जोड़ी का उपयोग करना होगा।
मुझे यह लाभ दिखाई देता है कि मैं बाद में गेट्टर / सेटर लॉजिक को बदलने की क्षमता खोए बिना बहुत सारे कोड (एक बनाम छह लाइनें) बचा लेता हूं, लेकिन फिर मैं पहले से ही ऐसा कर सकता हूं कि बिना किसी सार्वजनिक क्षेत्र को "पब्लिक स्ट्रिंग टाइटल" घोषित किए बिना। {पाने की आवश्यकता; सेट; } ब्लॉक, इस प्रकार और भी अधिक कोड की बचत।
तो, मैं यहाँ क्या याद कर रहा हूँ? कोई भी वास्तव में ऑटो-संपत्तियों का उपयोग क्यों करना चाहेगा?