Avatar billede mumu Nybegynder
28. august 2005 - 20:59 Der er 9 kommentarer og
1 løsning

"Cannot implicitly convert type"

Hej

Jeg har en ASP.NET side, hvori der findes et asp:panel.
Dette panel er dynamisk tilføjet en række asp:textbox-elementer, som jeg senere (ved et tryk på en knap) gerne vil aflæse.

foreach(Control c in pnlMyPanel.Controls)
  if (c.ToString().Equals("System.Web.UI.WebControls.TextBox"))
    TextBox current = c;


Ved sidste linie opstår en fejl:

Cannot implicitly convert type 'System.Web.UI.Control' to 'System.Web.UI.WebControls.TextBox'


Hvad gør jeg?
Avatar billede nielle Nybegynder
28. august 2005 - 21:00 #1
Har du prøvet:

TextBox current = (TextBox) c;
Avatar billede driis Nybegynder
28. august 2005 - 22:00 #2
Som nielle skriver, skal du eksplicit caste til TextBox
I øvrigt kan du skrive:
foreach(Control c in pnlMyPanel.Controls)
  if (c is TextBox)
    TextBox current = (TextBox)c;
Avatar billede driis Nybegynder
28. august 2005 - 22:01 #3
is keywordet finder ud af om et objekt er af en bestemt type, eller en subklasse heraf. Så ovenstående kode ville også finde kontroller arvet fra TextBox.

Din approach ville i øvrigt ikke fungere på en klasse hvor ToString er overloadet så den returnerer noget andet end klassenavnet.
Avatar billede mumu Nybegynder
28. august 2005 - 23:22 #4
Tak for hjælpen :-)

Jeg burde måske have annonceret spørgsmålet til 5 point.
Avatar billede nielle Nybegynder
29. august 2005 - 08:51 #5
... og du burde jo nok have givet pointensne til dem som hjalp dig med svaret. :^|
Avatar billede mumu Nybegynder
29. august 2005 - 09:33 #6
Der var jo kun kommentarer?
Avatar billede nielle Nybegynder
29. august 2005 - 09:49 #7
Personligt lægger jeg aldrig et svar før at jeg bliver bedt om det. Og den holdning er der en del herinde som har.

Ideen er, at man først lægger et svar, når spørgeren rent faktisk bekræfter at foreslaget har løst problemet – alt for tit ser man folk smide ”svar” som er helt hen i vejret i forhold til det stillede spørgsmål. Enten fordi folk er for hurtige på aftrækkeren, eller fordi at spørgsmålet ikke er formuleret klart nok til at starte med. Det er faktisk kun spørger som i sidste ende kan afgøre hvad der har hjulpet eller ej.

Hvis man har fået løst sit problem, bør man derfor altid bede de/n rette person om at lægge et svar sådan at man kan uddele points.

Misforstå mig ikke; Jeg kan sagtene klare mig uden de 10 point, men det er mere princippet i hvordan man bør bruge Eksperten (efter min mening selvfølgelig). :^)
Avatar billede mumu Nybegynder
29. august 2005 - 10:20 #8
Mit indtryk var blot, at der ikke ønskedes point for de fremlagte kommentarer.
Avatar billede nielle Nybegynder
29. august 2005 - 10:29 #9
Den fortolkning kan jeg sådan set godt forstå, men sådan forholder det sig altså ikke nødvendigvis altid. Man bør derfor altid spørge i stedet for at antage. :^)

Forresten, velkommen på Eksperten. :^)
Avatar billede mumu Nybegynder
29. august 2005 - 10:35 #10
Jeg beklager :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester