Je suis vraiment novice en expression C#. J'ai quelque chose de classe comme çaC#, créez une expression (méthode?) Et appelez-la
class SimpleClass
{
private string ReturnString(string InputString)
{
return "result is: "+InputString;
}
public string Return(Expression exp)
{
LambdaExpression lambda = Expression.Lambda(exp);
return lambda.Compile();
}
}
Maintenant, je voudrais appeler cette méthode Retour avec quelque chose de paramter (pseudo) comme ceci:
SimpleClass sc = new SimpleClass();
Expression expression = Expression.MethodCall(//how to create expression to call SimpleClass.ReturnString with some parameter?);
string result = sc.Return(expression);
Console.WriteLine(result);
Merci pour l'aide/réponse.
Matt
Cela dépend si cela était un goulot d'étranglement des performances, en utilisant une expression compilée en cache est beaucoup plus rapide que la réflexion Invoke() –