यह एक अमूर्त संपत्ति या एक इंटरफ़ेस से संपत्ति की तरह दिख सकता है लेकिन यह इससे दूर है। डेवलपर्स को गुणों का उपयोग करने के लिए प्रोत्साहित करने के लिए (क्योंकि वे कई कारणों से सबसे अच्छा अभ्यास कर रहे हैं) माइक्रोसॉफ्ट ने इस सुविधा को सी # 3 में शामिल करने का निर्णय लिया ताकि आप अधिक आसानी से संपत्ति घोषित कर सकें।
यहाँ एक संपत्ति बनाने का मानक तरीका है:
String foo;
public String Foo
{
get { return this.foo }
set { this.foo = value; }
}
अब यह काफी टाइपिंग का एक सा की आवश्यकता है और के रूप में डेवलपर्स कोर कभी कभी हम सार्वजनिक क्षेत्र बनाने के लिए परीक्षा रहे हैं करने के लिए आलसी हैं बस कुछ समय बचाने के लिए ।
अब सी # 3 संकलक के साथ हम यह कर सकते हैं: एक ओर जहां यह थोड़ा अजीब लग रहा है
public String Foo { get; set; }
, काम है कि संकलक अपनी ओर से कर रही है पर विचार करें। पिछले कोड इस का संकलन किया जाता है:
[CompilerGenerated]
private string <Foo>k__BackingField;
public string Foo
{
[CompilerGenerated]
get
{
return this.<Foo>k__BackingField;
}
[CompilerGenerated]
set
{
this.<Foo>k__BackingField = value;
}
}
तो भले ही वाक्य रचना थोड़ा अजीब आप अभी भी एक संपत्ति वास्तव में जिस तरह से आप के लिए उपयोग किया जाता है पैदा कर रहे लग रहा है।
स्रोत
2009-03-26 20:06:33
मैं आपको अधिक विस्तृत स्पष्टीकरण के लिए वोट दूंगा लेकिन मैं दिन के लिए बाहर हूं। – TheTXI