我想根据不同的泛型类型使用方法重载来获得不同的结果。这没用。我的代码清楚地显示了它。
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(Object o) 而不是 Helper.Can(int i)?