Je veux être capable de créer une méthode d'extension pour convertir une liste d'un type à une liste d'un autre type.
IEnumerable<Entity> EntityList = EntityData.GetAll(); IEnumerable<ViewModel> = EntityList.ToViewModel();
3 Réponses :
Vous pouvez écrire votre propre méthode d'extension puis que vous puissiez utiliser entitylist.tovievismodel () code> p> p> P>
Je l'ai compris. Tout ce que je devais faire était de créer une classe statique avec des méthodes statiques à l'intérieur qui utilise le mot-clé "Ceci" pour obtenir le paramètre de l'objet de votre référencement.
Par exemple: P>
public static class Mapper { public static IEnumerable<ViewModel> ToViewModelList(this IEnumerable<Entity> entities) { return entities.Select(ToViewModel); } public static ViewModel ToViewModel(this Entity entity) { return new ViewModel() { // Include mapping inside here Id = entity.Id; }; } }
Votre question se résume donc à "Comment écrire une méthode d'extension", ce qui en fait un duplicata de par exemple. Stackoverflow.com/Questtions/1188224/...
n'est-ce pas évident? Vous devez faire boucler les éléments de la première liste et les convertir dans la charge utile de la deuxième liste, puis les ajoutez à une nouvelle création, quelque chose comme ce qui suit: Il convient de mentionner que Dans cet exemple, la conversion se produit effectivement sur le niveau de l'article, pas la liste, donc c'est votre élément source qui doit être modifié si vous décidez d'aller de cette façon. p> p>
Utilisez un mappeur comme
automapper code>
Pourquoi ne pas utiliser
myList.Cast (). Tolist () Code>?
@HIMBROMBEERE: Pourquoi vous pensez qu'il peut simplement lancer de type x pour taper y?