Zasto mi izbacuje "invalid cast exception", a prema knjizi bi trebalo da mi ispise podatke za trougao i da nastavi dalje? Ako sam ispravno razumeo kada stavim interface kao parametar u taj metod ne moze da udje nijedan objekat koji ne implementira taj inteface, zasto onda mora (jer nece drugacije) da se izvrsi "cast"?
Code:
Shape[] s = new Shape[] { new Triangle("trot"), new Circle("circ"), new Square("kva") };
for (int i = 0; i < s.Length; i++)
{
s[i].Draw();
if (s[i] is IPoint)
{
DrawIn3D((IDraw3D)s[i]);
}
else
Console.WriteLine("{0} not pointy!", s[i].name);
}
Shape[] s = new Shape[] { new Triangle("trot"), new Circle("circ"), new Square("kva") };
for (int i = 0; i < s.Length; i++)
{
s[i].Draw();
if (s[i] is IPoint)
{
DrawIn3D((IDraw3D)s[i]);
}
else
Console.WriteLine("{0} not pointy!", s[i].name);
}