0

I have this array in program

ClassA[] array=new ClassA[20];

array[0]=new ClassB();
array[1]=new ClassA();

This is the class file

public class ClassA
{
    public void method()
    {
        Console.WriteLine("1");
    }
}

public class ClassB : ClassA
{
    public void method()
    {
        Console.WriteLine("2");
    }
}

It writes 1, in both cases, but i want in first case to write 2, (to call method of ClassB).
How to do that?

1 Answers1

1

You have to use override keyword in C# when you want to override method in child class.

public class ClassA
{
    public virtual void method()
    {
        Console.WriteLine("1");
    }
}

public class ClassB : ClassA
{
    public override void method()
    {
        Console.WriteLine("2");
    }
}

Regards.

Caldazar
  • 2,801
  • 13
  • 21