Vielen Dank Claudius, ich habe es hinbekommen... Jan
-----Original Message----- From: Claudius Ceteras [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 11, 2003 6:49 PM To: [EMAIL PROTECTED] Subject: RE: [Asp.net] Fehlermeldung > Vielen Dank erst mal. Ein Participant kann entweder ein > Customer oder ein > Consultant sein. Also was genau muss ich den nun machen, um > von der Klasse > Participant auf die Klasse Customer oder Consultant zugreifen > zu k�nnen? > > Ich glaub ich steh am Schlauch... Was hast du denn genau vor? Hier mal ein Beispiel... class Participant { public void Talk(string x) { Console.WriteLine(x); } } class Customer : Participant { public void Ask(string x) { Talk(x + "?"); } } class Consultant : Participant { public void Answer(string x) { Talk(x + "!"); } } Jetzt sollte es klar sein, dass Du z.B. Participants oder Consultants nicht nach Customer casten kannst... Denn die haben ja keine Ask-Methode... Aber Du kannst immer die abgeleitete Klasse zur Basis-Klasse casten... Also: Participant p1 = new Customer(); // ok, implizites casten Participant p2 = new Consultant(); // ok, implizites casten Participant p3 = new Participant(); // ok Customer c1 = (Customer)p1; // ok, weil in p1 ein Customer ist... Customer c2 = (Customer)p2; // fehler... p2 ist kein Customer Customer c3 = (Customer)p3; // fehler... p3 ist kein Customer Claudius > > THX > > > > > -----Original Message----- > From: Claudius Ceteras [mailto:[EMAIL PROTECTED] > Sent: Wednesday, June 11, 2003 5:00 PM > To: [EMAIL PROTECTED] > Subject: RE: [Asp.net] Fehlermeldung > > > > Exception Details: System.InvalidCastException: Specified > > cast is not valid. > > > > Source Error: > > > > Line 136: { > > Line 137: ok = false; > > Line 138: customer = (Customer) > > control.getLoginData().getParticipantData(); > > Line 139: ok = customer.closeTicket(); > > Line 140: if(ok == true) > > > > > > Dabei ist Customer eine abgeleitete Klasse von Participant. > > Also... Wenn getParticipantData() ein Participant zur�ckliefert, der > halt kein Customer ist, also z.B. ein Participant oder eine > Klasse, die > von Particpant abgeleitet ist, aber nicht Customer ist, dann funzt das > nicht... > > Du kannst einen Customer immer zu Participant casten, aber andersherum > nur, wenn der Participant auch wirklich ein Customer ist... > > > Claudius > > _______________________________________________ > Asp.net mailing list > [EMAIL PROTECTED] > http://www.glengamoi.com/mailman/listinfo/asp.net > _______________________________________________ > Asp.net mailing list > [EMAIL PROTECTED] > http://www.glengamoi.com/mailman/listinfo/asp.net > _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net
