किस प्रकार के लिए प्रकार हैं, इस प्रकार का ऑब्जेक्ट नहीं कह सकता है?
संकलक? हाँ बिल्कुल। कंपाइलर प्रकारों का उपयोग करता है ताकि यह अधिक संभावना हो सके कि आपका प्रोग्राम रनटाइम पर सही तरीके से कार्य करेगा, जिससे मिलान सुनिश्चित हो सके, आप वास्तव में मौजूद विधियों को कॉल कर रहे हैं, और सही प्रकार के पैरामीटर पास कर रहे हैं। यहां, कंपाइलर जांच कर रहा है कि आप वास्तव में IMyType
के प्रकार को वापस कर रहे हैं।
संपादक? फिर, हाँ। संपादक पृष्ठभूमि संकलन का उपयोग करता है और कोड लिखने में आपकी सहायता के लिए जानकारी टाइप करता है। जब आप .
_container
के बाद हिट करते हैं तो यह आपको यह बताने के लिए प्रकार की जानकारी का उपयोग करता है कि Resolve
विधि है और इसमें कौन से पैरामीटर हैं।
आप? इतना नहीं। हमने पहले ही देखा है कि संकलक यह सुनिश्चित करेगा कि आप IMyType
टाइप करें, तो आप इसे उस प्रकार के रूप में घोषित करने की परवाह क्यों करते हैं जब संकलक इसे काम कर सकता है और इसे आपके लिए जांच सकता है? इसी तरह, संपादक आपको कंटेनर के तरीकों के बारे में बताएगा, तो आप यह घोषणा करने की परवाह क्यों करते हैं कि यह एकता कंटेनर या किसी अन्य प्रकार का कंटेनर है, बशर्ते आप पहले से ही वैरिएबल नाम से जानते हैं कि यह किसी प्रकार का कंटेनर है और संपादक है कि इसमें Resolve
विधि है।
स्थानीय लोगों के लिए घोषित प्रकारों के साथ कोई समस्या नहीं है, लेकिन रेसर्पर आपको क्या कह रहा है कि संकलक इसे काम कर सकता है, इसलिए यह अनावश्यक जानकारी है, और आपका कोड अंतर्निहित प्रकारों और अच्छे चर नामों के साथ स्पष्ट हो सकता है। उदाहरण के लिए, इस कोड का उद्देश्य मूल नमूना से कम स्पष्ट है?
public static IMyType GetGateWayManager()
{
var container = GetContainer();
var gateWayManager = container.Resolve<IMyType>();
return gateWayManager;
}
स्रोत
2010-08-27 08:45:15
यह चेतावनी क्या दे रही है? क्या यह वीएस कंपाइलर या रीसार्पर जैसे बाहरी उपकरण है? – codeulike
तथ्य यह है कि आप "हार प्रकार" कहते हैं, सुझाव देता है कि आप 'var' के लिए दस्तावेज़ पढ़ने से लाभ उठा सकते हैं। इसका मतलब 'संस्करण' नहीं है। – AakashM
निश्चित रूप से रिशेर्पर चेतावनी की तरह दिखता है ... –