तो हम लिखते हैं:
Customer c = new Customer();
डिजाइन ऐसा क्यों नहीं है कि हम लिखें:
c = new Customer();
c.CreditLimit = 1000;
कंपाइलर एक ग्राहक को सी पॉइंट आउट कर सकता है और ग्राहक के सदस्यों को सी पर आमंत्रित करने की अनुमति दे सकता है?
मुझे पता है कि हम लिखना चाहते हैं:
IPerson c = new Customer();
IPerson e = new Employee();
इतना लिखने में सक्षम होने के लिए:
public string GetName(IPerson object)
{
return object.Name
}
string name = GetName(c); // or GetName(e);
लेकिन अगर हमने लिखा है:
c = new Customer();
e = new Employee();
हम अभी भी लिख सकते हैं:
public string GetName(object)
{
return object.Name
}
string name = GetName(c); // or GetName(e);
कंपाइलर उपरोक्त कोड के बारे में तुरंत शिकायत कर सकता है यदि ऑब्जेक्ट c संदर्भों का प्रकार नाम संपत्ति का समर्थन नहीं करता है (क्योंकि यह जांच सकता है कि विधि के भीतर कौन से सदस्य तर्क / पैरामीटर पर उपयोग किए जाते हैं), या रनटाइम शिकायत कर सकता है।
यहां तक कि C # के डायनामिक कीवर्ड के साथ, हम अभी भी एक चर 'प्रकार' (रनटाइम पर निर्धारित) का उपयोग कर रहे हैं। लेकिन एक चर को एक प्रकार की आवश्यकता क्यों है? मुझे यकीन है कि एक अच्छा कारण होना चाहिए, लेकिन मैं इसके बारे में सोच भी नहीं सकता!
var
C # में उपयोग कर सकते हैं और जहाँ आप एक चर घोषित करना चाहते हैं, उसके बारे में अधिक जानना हमेशा अच्छा होता है।