저는 C# 표현식이 새로워졌습니다. 도움말/답변C#, (method?) 표현식을 만들고 호출하십시오.
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);
감사 : 나는이 같은 일부 있었던 파라미터 뭔가 (의사)이 메소드의 반환을 호출하고 싶습니다 이제
class SimpleClass
{
private string ReturnString(string InputString)
{
return "result is: "+InputString;
}
public string Return(Expression exp)
{
LambdaExpression lambda = Expression.Lambda(exp);
return lambda.Compile();
}
}
같은 몇 가지 클래스 뭔가가있다.
매트
이것은 성능상의 병목 현상 이었는지, 캐시 된 컴파일 된 표현식을 사용하는지에 따라 달라집니다. 리플렉션 (Invoke)보다 훨씬 빠릅니다. –