On suppose certains objets de domaine et afficher (qui ont pas de classe de base commune)Comment puis-je créer une méthode générique pour convertir des listes d'objets lorsque des méthodes de conversion pour des objets uniques existent?
public class DomainA
{
public int MyProperty { get; set; }
}
public class ViewA
{
public int MyProperty { get; set; }
}
public class DomainB
{
public string MyProperty { get; set; }
}
public class ViewB
{
public string MyProperty { get; set; }
}
et une classe qui peut convertir domaine à la vue correspondante
public class ViewFactory
{
public static ViewA Create(DomainA value)
{
return new ViewA() { MyProperty = value.MyProperty };
}
public static ViewB Create(DomainB value)
{
return new ViewB() { MyProperty = value.MyProperty };
}
}
Est-il possible d'écrire une méthode le long de la lignes de
public static List<T> Create<T, U>(IEnumerable<U> values)
{
return new List<T>(from v in values where v != null select Create((U)v));
}
qui peut convertir les listes des objets « domaine » aux listes des objets « vue » étant donné qu'il existe déjà meth ods pour convertir un seul objet?
Je me sens comme si je manque quelque chose de vraiment stupide et de base sur les médicaments génériques demandant ce question..better d'apprendre la réponse que de rester désemparés si :)
Merci cela devrait être exactement ce dont j'ai besoin. – Jedidja
En fait, pourrais-je faire le Func implicite? Étant donné qu'il est toujours appelé Créer? Je préférerais ne pas avoir à le transmettre à chaque fois. – Jedidja