Sie können abgeleitete und Basisklassen in einer generischen Liste in C # der Typenbasisklasse mischen?

StackOverflow https://stackoverflow.com//questions/11665887

Frage

Sie können abgeleitete und Basisklassen in einer generischen Liste in C # der Typenbasisklasse mischen?Ich sehe nicht, warum nicht ... und ich sehe nicht eine klare Antwort darauf ... aber heute mit einer generischen Liste der Typenklasse spielen, die auch in ihm abgeleiteten Klassen hatte, habe ich keine gesehenProbleme.Aber ich frage mich, ob es potenzielle Probleme geben könnte, abgesehen von den üblichen Upcast / Downcast-Einschränkungen, die stets den abgeleiteten / Basisklassen inhärent sind.Der Grund, warum ich frage: Ich weiß nicht, ob eine generische Liste für C # dasselbe arbeitet, wie es verwendet wird, um als Arraylist in C ++ zu bezeichnen, dh egal ob Sie Beschwerden während der Zusammenstellung zum Mischen von 'Typen' erhalten.BASE VS abgeleitete Klassen).Ich habe heute zahlreiche Beispiele ohne Beschwerden gelaufen, möchte aber überprüfen, ob ein Problem möglich ist.

War es hilfreich?

Lösung

c # -klassentypen sind Referenztypen.C ++ - Klassenarten würden Werttypen in der .NET-Welt bezeichnet.Der entsprechende Vergleich wäre eine C ++ - Liste von Basisklassenzeiger, in denen Sie einen Zeiger auf eine abgeleitete Klasse problemlos speichern könnten.

Also ja, es ist gut.

Andere Tipps

generasacodicetagpre.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top