Farklı genel türlere göre farklı sonuç almak için yöntem aşırı yüklemesini kullanmak istiyorum. İşe yaramıyor. Kodum açıkça gösteriyor.C# genel türü için aşırı yükleme hatası
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
Neden My<int>
aramalar Helper.Can (Object o) ziyade Helper.Can (int i)?
Great.Teşekkür ederiz – zilong
"Genel tür parametrelerinin çalışma zamanında çözüldüğü" ifadesine tamamen katılıyorum. Öyleyse, derleyici derleme zamanında "" Listesinden bir int öğesi alamadığınızı söyleyemedi. Ne * *, derleme zamanında çözümlenmemiş olarak kabul edilenler, genel sınıf içindeki genel tür parametresinin oluşumlarıdır. –
@ O.R.Mapper: Genel sınıfta demek istedim. – SLaks