हमें अक्सर बताया जाता है कि बाहरी दुनिया के लिए खेतों को उजागर करने के बजाय, हमें क्लास फ़ील्ड के लिए गेट्टर और सेटर विधियां (सी # में गुण) बनाकर इनकैप्सुलेशन की रक्षा करनी चाहिए।
लेकिन कई बार ऐसा होता है जब कोई फील्ड वैल्यू रखने के लिए होता है और उसे पाने या सेट करने के लिए किसी कंपीटिशन की जरूरत नहीं होती। इनके लिए हम सभी इस संख्या को करेंगे:
public class Book
{
private string _title;
public string Title
{
get{ return _title; }
set{ _title = value; }
}
}
खैर, मेरे पास एक स्वीकारोक्ति है, मैं वह सब नहीं लिख सकता था (वास्तव में, इसे लिखना नहीं था, इसे देखना था), इसलिए मैं दुष्ट हो गया और सार्वजनिक क्षेत्रों का इस्तेमाल किया।
इसके बाद C # 3.0 आता है और मैं देखता हूं कि उन्होंने स्वचालित गुण जोड़े हैं:
public class Book
{
public string Title {get; set;}
}
जो स्पष्ट है, और मैं इसके लिए आभारी हूं, लेकिन वास्तव में, केवल सार्वजनिक क्षेत्र बनाने से अलग क्या है?
public class Book
{
public string Title;
}
prop
कोड स्निपेट यह तेजी से गुण पैदा करने के लिए बनाता है। बस prop
तब टैब टाइप करें ।