❔ 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();
}
}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?