Je cherche un moyen de prendre deux objets qui ont des propriétés identiques et de faire un appel pour copier les valeurs de propriété d'un objet dans l'autre. Le l'exemple ci-dessous supposent que j'ai une instance de A et je veux utiliser les données de cette instance pour hydrater une nouvelle instance ou C (pour garder les choses laconique je champs au lieu de propriétés dans l'exemple ci-dessous)Comment copier des données de différentes classes en faisant correspondre des noms de champs ou de propriétés
public class A : B
{
public string prop1;
public int prop2;
}
public class B
{
public byte propX;
public float propY;
}
public class C
{
public byte propX;
public float propY;
public string prop1;
public int prop2;
}
public class Merger
{
public static object Merge(object copyFrom, object copyTo)
{
//do some work
//maybe <T> generically refactor?
}
}
La classe de fusion est juste un pseudo-exemple, faire cela par des génériques serait optimal mais la première chose que je demande est de savoir si une telle capacité existe déjà. Je pourrais imaginer utiliser la réflexion pour le faire moi-même, mais je voulais juste le jeter pour de meilleures idées d'abord.
Contexte réel: C'est en fait un problème lié à MVVM car j'essaie d'utiliser des classes disparates revenant de EF pour remplir une instance de ViewModel.
Сool! C'est une très bonne chose –