Tout d'abord, pour plus de clarté, je vais expliquer mon scénario du début :
J'ai une méthode qui a la signature suivante :
public virtual void SendEmail(String from, List recepients, Object model)
Ce que je veux faire, c'est générer un objet anonyme qui a les propriétés de l'objet modèle ainsi que les deux premiers paramètres. Aplatir l'objet modèle en un PropertyInfo[] est très simple. En conséquence, j'ai pensé à créer un dictionnaire qui contiendrait les PropertyInfo et les deux premiers paramètres, puis à les convertir en objet anonyme où la clé est le nom de la propriété et la valeur est la valeur réelle de la propriété.
Est-ce possible ? D'autres suggestions ?
0 votes
Quelle est la raison pour laquelle vous voulez faire cela?
1 votes
Je doute que vous puissiez facilement prendre en charge un ensemble arbitraire de paires clé-valeur - vous devriez construire dynamiquement un nouveau type avec ces propriétés au moment de l'exécution. Étant donné que vous allez ensuite les lire, il serait préférable de créer une surcharge qui accepte également votre dictionnaire.
0 votes
@Rup: En fait, c'est aussi une alternative raisonnable. J'ai déjà trouvé un raccourci qui fonctionne bien pour mes besoins, mais j'aimerais quand même connaître la réponse à ma question ci-dessus... juste par curiosité :)
0 votes
Vérifiez les liens suivants, très bonne solution pour la conversion de dictionnaire en type anonyme : jacobcarpenter.wordpress.com/2008/03/13/… tomsundev.wordpress.com/2011/07/20/…