111,125
社区成员
发帖
与我相关
我的任务
分享
public class T1
{
public virtual void Fun(string s)
{
}
}
public class T2 : T1
{
public override void Fun(string s)
{
}
public void Fun(object s)
{
Fun(s.ToString());
}
}
public class T3 : T1
{
public new void Fun(string s)
{
}
public void Fun(object s)
{
Fun(s.ToString());
}
}
T1 a = new T2();
a.Fun("xx"); // T2.Fun(string s)
T2 b = new T2();
b.Fun("xx"); // T2.Fun(object s)死循环
T1 c = new T3();
c.Fun("xx"); // T1.Fun(string s)
T3 d = new T3();
d.Fun("xx"); // T3.Fun(string s)