0
是否有可能向表达式发送方法,获取方法名称并执行表达式并返回结果?使用Linq来传入方法
的想法:
internal T Execute<T>(Expression expr)
{
// Get method name and the parameters from the expression.
// Check the methodname+parameters against the db
// Execute the expression and return T
return Expression.Execute(expr);
}
呼叫是这样的:
Expression<Func<string, string, Guid>> myExpression2 = (a, b) => PostMessage(a, b, 1);
return Execute<Guid>(myExpression2);
的调用也将有不同的返回类型,在这种情况下,它是一个GUID。这将让我检查execute方法中的表达式方法,并确定是否需要某些额外的日志记录或是否需要额外的身份验证。
表达式总是调用一个方法,如PostMessage,GetMessages或类似的。