Explicit Conversion... – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Explicit Conversion... – .NET – Fórum – Programujte.comExplicit Conversion... – .NET – Fórum – Programujte.com

 

Miromancer
~ Anonymní uživatel
9 příspěvků
30. 7. 2010   #1
-
0
-

Mohl byste mi nekdo poradit? Pokousim se pretypovat tridu MyDvojice na Dvojice viz nize a nechce se mi to zkompilovat:

Error 1 Cannot implicitly convert type 'WindowsFormsApplication1.Dvojice' to 'WindowsFormsApplication1.MyDvojice'. An explicit conversion exists (are you missing a cast?)

tady mam ty tridy:

  public class MyDvojice : Dvojice

{
int rozdil;
public MyDvojice(Hrac h1, Hrac h2)
{
this.hrac1 = h1;
this.hrac2 = h2;
this.rozdil = Math.Abs(h1.bodu - h2.bodu);
}

}


    public class Dvojice

{
public Hrac hrac1;
public Hrac hrac2;
public Dvojice(Hrac hrac1, Hrac hrac2)
{
this.hrac1 = hrac1;
this.hrac2 = hrac2;
}
public Dvojice()
{
}
}


a tady se to pokousim pretypovat:

for (int i = 0; i < dvoj.Count-1; i++)

{
dvoj[i] = (Dvojice)dvoj[i];
}


dvoj je typu:

public class MyList : List<MyDvojice>
{
int soucetRozdilu;
}

Dekuji moc za rady

Nahlásit jako SPAM
IP: 89.176.4.–
velurex0
Stálý člen
30. 7. 2010   #2
-
0
-

Ty do prvku Listu přiřazuješ ten samý prvek? To si se do toho nějak zamotal, ne? Co mělo být smyslem?

Nahlásit jako SPAM
IP: 213.191.119.–
Miromancer
~ Anonymní uživatel
9 příspěvků
30. 7. 2010   #3
-
0
-

To velurex :

Protoze potrebuju pretypovat kazdy clen toho Listu dvoj a nevim, jak na to

Nahlásit jako SPAM
IP: 89.176.4.–
Petrroll0
Stálý člen
30. 7. 2010   #4
-
0
-

A jestli se mohu zeptat proč jej potřebuješ přetypovat?
Ten list je definován jako generická třída, tudíž do něj nemůžeš uložit typové jiný objekt než MyDvojice. Tj typové jiný objekt než si definoval zde:

public class MyList : List<MyDvojice> //V Těch <>

PS: Žádám někoho zdatnějšího aby mojí domněnku potvrdil/vyvrátil, generické typy se teprve snažím učit.
EDIT: Nepletu-li se stačilo by místo generického listu použít obecnou variantu "List". Prava je že to bude pracovat s object (neoptimalizovaňejší rešení, ale zas to bude fungovat) Tady si nejsem jistý jestli takovou třídu .NET nabízí.

Nahlásit jako SPAM
IP: 92.62.224.–
30. 7. 2010   #5
-
0
-

To Petrroll : Máš pravdu :) V aktuální situaci do toho listu object typu Dvojice prostě nedostane. Lepší by bylo použít List<Dvojice>, pak tak půjdou dát objekty typu Dvojice a také objekty, které z této třídy dědí (MyDvojice). Teda myslím, že by to tak být mělo.

Nahlásit jako SPAM
IP: 89.203.157.–
Dušan Janošík | web: djanosik.cz, @djanosik
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
31. 7. 2010   #6
-
0
-

To djanosik :

Díky pánové, to jsem nevěděl, dědičnost jsem ještě nikdy nepoužíval...Jdu se tedy na to vrhnout ;)

Nahlásit jako SPAM
IP: 89.176.4.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 49 hostů

Podobná vlákna

Implicit vs Explicit Operator — založil Miro1701

Explicitni konstruktor — založil fnenks

Explicitne — založil rr

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý