hi,
ich habe eine Klasse Klammer geschrieben in der ein paar Daten die ich brauch gespeichert werden (nur ein paar Variablen und ein paar Methoden zum befüllen/zurückgeben der Variableninhalte), die ich mittels dieser Klasse gebündelt in einem Stack ablegen möchte. Die Übergabe des Objekts vom Typ Klammer funktioniert soweit auch gut. Jetzt habe ich aber ein Problem wenn ich Pop benutze.
Wenn ich
Klammer aktuell = stack.Pop();
schreibe, bekomme ich die Meldung das keine implizite Konvertierung durchgeführt werden kann weil schon eine explizite Konvertierung vorhanden ist.
Als was kommen die Daten aus dem Stack? Meines wissens müsste der Typ den man durch Pop erhält ja mit dem Typ den man übergeben hat übereinstimmen... Hat jemand eine Ahnung woran das liegen könnte?
Gruß Zocker
dann hast du wohl den "alten" Stack verwendet, also müsstest du
Klammer aktuell = (Klammer) stack.Pop()
schreiben.
Besser wäre es wenn du Stack<Klammer> nimmst.
danke, das funktioniert jetzt mit (Klammer) 🙂
wo müsste ich immer <Klammer> hinschreiben wenn ich das benutzen möchte?
siehe http://msdn2.microsoft.com/de-de/library/3278tedw(VS.80).aspx
bzw.
http://www.galileocomputing.de/openbook/visual_csharp/visual_csharp_07_003.htm
Stichworte sind Casting und Generics.
Gruß