2012-02-01 17 views
0

私はプロジェクトに取り組んでおり、メインクラス、親クラス、および3つのサブクラスを含んでいます。今はプログラムの実行時まで設定しています。私は3つの別々の集会で各集会の値のそれぞれを保存します。私はそれを作る必要があるので、私はただ1人のarraylistと多型を使用します。これをどうやってやりますか?arraylistsと多型

答えて

0

3つのアレイリストの代わりにList<ParentClass>を使用してください。

public class ParentClass {...} 
public class ChildClass1 : ParentClass {...} 
public class ChildClass2 : ParentClass {...} 
public class ChildClass3 : ParentClass {...} 

var list = new List<ParentClass>(); 
var child1 = new ChildClass1(); 
var child2 = new ChildClass2(); 
var child3 = new ChildClass3(); 
list.Add(child1); 
list.Add(child2); 
list.Add(child3); 

リストからあなたの子供を読んであげるとき、あなた「は」または「として」のいずれか使用して自分のタイプを決定することができますが。

if (list[0] is ChildClass1) 
{ 
} 

ChildClass1 child1 = list[0] as ChildClass1; 
// child1 will be null if list[0] is not a ChildClass1