C#C
C#3y ago
arch_il

❔ How does class casting work?

public class Foo
{
    public virtual void Func()
    {
        Console.WriteLine("Foo");
    }
}

public class Boo : Foo
{
    public override void Func() 
    {
        Console.WriteLine("Foo");
    }
}


public class Program
{
    public static void Main()
    {
        var myObjects = new List<Foo>();

        myObjects.Add(new Foo()); // works
        myObjects.Add(new Boo()); // works
        myObjects.Add((Boo)(new Foo())); // how to make this work?

        foreach (var myObject in myObjects)
            myObject.Func();
    }
}

I think code explains itself, but still. How do i cast parent class to child class?
Was this page helpful?