Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[C#] Invalid cast Exception :: problem

[es] :: .NET :: .NET Desktop razvoj :: [C#] Invalid cast Exception :: problem

[ Pregleda: 1713 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon [C#] Invalid cast Exception :: problem05.03.2008. u 18:19 - pre 158 meseci
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);
            }
 
Odgovor na temu

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon Re: [C#] Invalid cast Exception :: problem05.03.2008. u 18:26 - pre 158 meseci
ne mmix stani ne brisi :)
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 IDraw3D)
                {
                    DrawIn3D((IDraw3D)s[i]);
                }
                else
                    Console.WriteLine("{0} not pointy!", s[i].name);
            }

Greska je bila jer sam provaravao pogresan interface, a sada sledi pitanje da li uvek pre nego sto probam da prosledim tip sa odredjenim interfejsom moram da proverim pomocu "if" da li je on uopste interfejs-kompatibilan?
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6006



+4618 Profil

icon Re: [C#] Invalid cast Exception :: problem05.03.2008. u 20:19 - pre 158 meseci
Citat:
Valerij Zajcev: ne mmix stani ne brisi :)

Greska je bila jer sam provaravao pogresan interface, a sada sledi pitanje da li uvek pre nego sto probam da prosledim tip sa odredjenim interfejsom moram da proverim pomocu "if" da li je on uopste interfejs-kompatibilan?


U bre, ispadoh ja neki bauk :)

Inace, proveravanje implementiranog interfejsa treba da radis onda kad niz/kolekcija/stagod moze da sadzi i one elemente koji implementiraju i one koji ne. Ako ti unapred znas da su svi elementi u Shape[] takvi da implementiraju IDraw3D i da nikad ni pod kojim uslovm u taj niz ne moze da udje objekat koji ne implementira onda ne moras da radis proveru
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

01011011
Avanade
CHICAGO, USA

Član broj: 561
Poruke: 2341
65.216.70.*

ICQ: 45747235
Sajt: www.snailtrail.net


+2 Profil

icon Re: [C#] Invalid cast Exception :: problem05.03.2008. u 21:26 - pre 158 meseci
jesi jesi mmix, najgori si od sve dece
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: [C#] Invalid cast Exception :: problem

[ Pregleda: 1713 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.