Créer une liste de type anonyme dans VB
J'aimerais créer une liste d'un type anonyme, par exemple:
Dim lineItem = New With {.Name = myFile(index).Last_Name & ", " & myFile(index).First_Name, _
.StartDate = myFile(index).Day,
.EndDate = myFile(index).Day}
J'ai créé un type anonyme. Maintenant, je voudrais ajouter à une liste de ce type. Comment dois-je déclarer une liste de ce type?
source d'informationauteur Daniel
Vous devez vous connecter pour publier un commentaire.
Voici une méthode pratique pour la création d'une liste d'un type anonyme à partir d'un seul type anonyme.
Maintenant, vous pouvez simplement faire ce qui suit
MODIFIER OP voulait une façon de créer de la liste avant de créer un élément.
Il y a 2 façons de le faire. Vous pouvez utiliser le code suivant pour créer une liste vide. Elle a des frontières avec hacky parce que vous êtes de passage des paramètres, vous n'avez pas l'intention d'utiliser, mais il fonctionne.
Ici est de savoir comment le faire inline à l'aide de coulée par exemple (sans la création d'une deuxième fonction):
(basé sur la version c# posté ici )
Essentiellement, vous créez le type anonyme, le mettre dans un array ( {x} ), puis utilisez le tableau .ToList() méthode pour obtenir une liste.
Puisque le type est anonyme, vous devez utiliser des génériques et de l'inférence de type.
La meilleure façon est d'introduire une fonction générique qui crée un vide collection à partir d'un objet prototype.
Comment sur une seule ligne de construction comme cela?
J'aime Jared solution, mais juste pour montrer l'équivalent direct de Jon code (en dépit de mon commentaire):
Pas très utile en soi, puisqu'il n'est pas extensible ... mais peut être utilisée pour amorcer d'autres LINQ magique pour créer de plus grandes listes.
Dans une seule ligne, vous pouvez ajouter les types anonymes dans une liste
Si vous êtes en train d'ajouter des valeurs à la liste par itération, je suppose que vous avez un
IEnumerable
pour commencer? Utilisez simplement.Select
avec.ToList
. Qu'est ce que c'est conçu pour.