Nous travaillons sur une application Windows qui doit périodiquement lancer des opérations, ce qui peut prendre un certain temps. Nous avons pris l'habitude d'exécuter ces opérations sur un BackgroundWorker, et d'écrire un WinForm rapide pour chaque opération, où vous passez au formulaire les paramètres nécessaires, le formulaire connecte le BackgroundWorker et fait l'appel de fonction, et le formulaire affiche la sortie (la barre de progression bouge, le texte se remplit avec les mises à jour, etc).
Évidemment, ce formulaire est très simple. La seule partie qui diffère vraiment entre les copies du formulaire est quelle méthode est appelée sur quel objet. Ce que nous aimerions faire, c'est le rendre générique, en prenant le formulaire, en passant un objet (ou null pour les appels statiques ?), un nom de fonction, et un tableau de paramètres, et en le faisant "partir" de là. Nous avons été en mesure de le faire avec Reflection. Ce que nous n'aimons pas dans le cas de Reflection, c'est l'absence de typage fort ; les erreurs d'orthographe de l'appel de méthode sont détectées au moment de l'exécution, et non de la compilation. Y a-t-il quelque chose de disponible aujourd'hui qui pourrait rendre cela plus élégant et plus robuste ? J'ai entendu des gens parler de choses comme les délégués et les arbres d'expression, mais je ne suis pas sûr que le premier s'applique et je suis encore un peu dans l'ignorance du second.