using System; namespace ZZ { class ZZConsole { [STAThread] static void Main(string[] args) { A a = new A(); a.Show(); B b = new B(); b.Show(); ((A)b).Show(); C c = new C(); c.Show(); ((A)c).Show(); Console.ReadLine(); }
} class A { public virtual void Show() { Console.WriteLine("你调用了A类的Show方法."); } } class B : A { public new void Show() { Console.WriteLine("你调用了B类的Show方法."); } } class C : A { public override void Show() { Console.WriteLine("你调用了C类的Show方法."); } } }
test1加上命名空间试一试, 比如test1的命名空间是 win2 public class test2 : win2.test1
是怎么回事啊?
test方法 必须在TEST1里存在
namespace ZZ
{
class ZZConsole
{
[STAThread]
static void Main(string[] args)
{
A a = new A();
a.Show();
B b = new B();
b.Show();
((A)b).Show();
C c = new C();
c.Show();
((A)c).Show();
Console.ReadLine();
}
}
class A
{
public virtual void Show()
{
Console.WriteLine("你调用了A类的Show方法.");
}
}
class B : A
{
public new void Show()
{
Console.WriteLine("你调用了B类的Show方法.");
}
}
class C : A
{
public override void Show()
{
Console.WriteLine("你调用了C类的Show方法.");
}
}
}
比如test1的命名空间是 win2
public class test2 : win2.test1