Je veux prendre un objet anonyme comme argument d'une méthode, et ensuite itérer sur ses propriétés pour ajouter chaque propriété/valeur à un objet dynamique. ExpandoObject
.
Donc ce dont j'ai besoin c'est d'aller de
new { Prop1 = "first value", Prop2 = SomeObjectInstance, Prop3 = 1234 }
de connaître les noms et les valeurs de chaque propriété, et d'être capable de les ajouter à l' ExpandoObject
.
Comment puis-je y parvenir ?
Note complémentaire : Ceci sera fait dans beaucoup de mes tests unitaires (je l'utilise pour refactoriser beaucoup de déchets dans la configuration), donc la performance est dans une certaine mesure pertinente. Je ne connais pas assez la réflexion pour en être sûr, mais d'après ce que j'ai compris, elle est assez gourmande en performances, donc si c'est possible, je préfère l'éviter...
Question de suivi : Comme je l'ai dit, je prends cet objet anonyme comme argument d'une méthode. Quel type de données dois-je utiliser dans la signature de la méthode ? Toutes les propriétés seront-elles disponibles si j'utilise object
?