volte ho bisogno di usare una tupla, per esempio io ho la lista dei carri armati e dei loro carri armati di destinazione (che inseguono dopo di loro o qualcosa di simile):C'è un trucco nella creazione di un elenco generico di tipo anonimo?
List<Tuple<Tank,Tank>> mylist = new List<Tuple<Tank,Tank>>();
e poi quando ho iterare la lista che ho accedervi da
mylist[i].item1 ...
mylist[i].item2 ...
e 'molto confusa e mi dimentico sempre ciò che è e ciò che è item1 item2, se potessi accedere da:
mylist[i].AttackingTank...
mylist[i].TargetTank...
sarebbe molto più chiaro, c'è un modo per farlo senza definire una classe:
MyTuple
{
public Tank AttackingTank;
public Tank TargetTank;
}
voglio evitare di definire questa classe, perché poi avrei dovuto definire molte classi differenti in diversi scenari, posso fare qualche "trucco" e renderlo anonimo
Qualcosa di simile:
var k = new {Name = "me", phone = 123};
mylist.Add(k);
Il problema, naturalmente, che non ho un tipo da passare a elenco quando ho definisco
Hai provato la parola chiave dinamica per il tipo di elenco? –
Cosa c'è di sbagliato nel definire la classe? Sembra la soluzione ovvia. Per quanto riguarda la necessità di 'definire molte classi diverse ', forse c'è una struttura di ereditarietà che puoi sfruttare? –
possibile duplicato di [Un elenco generico di classe anonima] (http://stackoverflow.com/questions/612689/a-generic-list-of-anonymous-class) – nawfal