comment appeler de manière dynamique une fonction en c#

j'ai de la méthode:

  add(int x,int y)

et j'ai aussi:

int a=5;
int b=6;
string s="add";

est-il possible de faire appel à add(a,b) à l'aide de la chaîne s? comment puis-je faire cela en c#?

  • if (s == "add") { add(a,b); } Cela?
  • Je pense qu'il est à la recherche de quelque chose de semblable à du javascript eval() fonction, je ne pense pas que cela existe en c#. Mais je suis avec impatience en attendant de voir comment Jon Skeet pèse sur celui-ci.
  • double possible de Dynamiquement d'invoquer une fonction en passant le nom de la fonction en tant que chaîne de caractères
  • Ce que vous entendez à l'aide de la chaîne s ? Veuillez préciser.
  • exactement... quelque chose comme eval()
  • La réflexion options décrites ci-dessous (pourquoi n'ai-je pas pensé à cela??) sont généralement LENT que l'enfer. Sa fine pour une utilisation légère, mais si vous le faites, vous pouvez voir des performances.

InformationsquelleAutor scatman | 2010-07-15