Let's say if we have a Container class with generic array
public class Container<T>
{
public T[] ObjectArray = new T[];
}
public class PlayerInfo
{
public int level;
public string playerName;
public string description
}
public class EnemyInfo
{
public string enemyName;
}
Now I have Container<PlayerInfo>
and Container<EnemyInfo>
in my app, which have lots of player/enemy data.
I want to create a List to handle all Container in my app, and print out all fields with string
type, how could I achieve it?
Take the above example I want to print out playerName
description
enemyName
.
What I've tried is like this.
//let container inherit from a class
public class Container<T> : BaseClass
{
public T[] ObjectArray = new T[];
}
//so that I could add them to a single list.
var list = new List<BaseClass>();
list.Add(playerContainerInstance);
list.Add(enemyContainerInstance);
foreach(var element in list)
{
//and what should I do now to get string field from it?
}
For now I can figure out is do something with reflection, but maybe there is another way to do this?
Aucun commentaire:
Enregistrer un commentaire