के लिए अधिभार त्रुटि मैं विभिन्न सामान्य प्रकारों के अनुसार अलग-अलग परिणाम प्राप्त करने के लिए विधियों अधिभार का उपयोग करना चाहता हूं। यह काम नहीं करता। मेरा कोड इसे स्पष्ट रूप से दिखाता है।सी # जेनेरिक प्रकार
static class Helper
{
public static bool Can(int i)
{
return true;
}
public static bool Can(Object o)
{
return false;
}
}
class My<T>
{
public static bool can = Helper.Can(default(T));
}
Console.WriteLine(Helper.Can(default(int)));//True,it is OK
Console.WriteLine(My<int>.can);//false?? why the overload doesn't work
Console.WriteLine(My<Object>.can);//false
My<int>
कॉल Helper.Can (वस्तु ओ) के बजाय Helper.Can क्यों (आई इंट)?
ग्रेट। धन्यवाद – zilong
मैं इस कथन से काफी सहमत नहीं हूं कि "जेनेरिक प्रकार पैरामीटर रनटाइम पर हल किए जाते हैं"। यदि यह मामला था, तो संकलक संकलन समय पर नहीं बता सका कि आपको 'सूची' से कोई आइटम नहीं मिल सकता है। संकलित समय पर अनसुलझा माना जाता है * जेनेरिक वर्ग के भीतर सामान्य प्रकार पैरामीटर की घटनाएं क्या होती हैं। –
@ ओआर.मैपर: मेरा मतलब सामान्य वर्ग के भीतर था। – SLaks