我在程序中有这个数组
ClassA[] array=new ClassA[20];
array[0]=new ClassB();
array[1]=new ClassA();
这是类文件
public class ClassA
{
public void method()
{
Console.WriteLine("1");
}
}
public class ClassB : ClassA
{
public void method()
{
Console.WriteLine("2");
}
}
在两种情况下都写1,但我想在第一种情况下写2,(调用ClassB的方法)。
怎么做?
答案 0 :(得分:1)
如果要覆盖子类中的方法,则必须在C#中使用override关键字。
public class ClassA
{
public virtual void method()
{
Console.WriteLine("1");
}
}
public class ClassB : ClassA
{
public override void method()
{
Console.WriteLine("2");
}
}
问候。