2017-07-12 2 views
0

Ich habe eine Klasse namens PokerPiece und es ist Inherit aus Klasse Piece.C#, Wie konvertiert man eine Liste von ParentClass in eine Liste von ChildClass?

Also, wenn ich List<Piece> pieces =new List<PokerPiece>() Arbeit machen kann? Wenn nicht, wie kann ich es schaffen?

+0

einfach eine Liste von Pieces statt machen helfen kann, ist ein PokerPiece ein Stück. – Esko

+0

Verwenden Sie einfach 'List Stück = neue Liste ()', wo Sie 'Klasse Piece: PokerPiece' deklariert. –

+0

Eigentlich kann ich PokerPiece Artikel in die Stückliste aufnehmen, aber wenn ich die Gegenstände aus der Stückliste bekomme, kann ich nicht die Attribute bekommen, die in PokerPiece deklariert wurden. –

Antwort

0

Ich glaube, Sie es der falsche Weg irgendwie bekam - normaly möchten Sie vielleicht so etwas wie:

var myList =new List<Message>(); 

var myChildObject = new ChildMessage(); 

myList.add(myChildObject) 

myList[0] as ChildMessage == null // should not return null 
0

Sie so etwas wie

List<Piece> pieces = new List<Piece>(new List<PokerPiece>()); 

tun können, aber Sie sollten wahrscheinlich nur

List<Piece> pieces = new List<Piece>(); 
machen

Oder

List<PokerPiece> pieces = new List<PokerPiece>(); 
+0

Aber das tut das gleiche wie neue Liste (); o) –

+0

@SirRufo Ich stimme zu. Aber das OP bat um Vorschläge, also gab ich eins. – Guy

+0

@ SirRufo @ Guy danke für deine Vorschläge. Jetzt kann ich child-class-item zur elter-class-Liste hinzufügen. Allerdings weiß ich nicht, wie man Attribute bekommt, die in PokerPiece deklariert wurden, wenn ich einen Gegenstand aus der Stückliste bekomme. –

Verwandte Themen