读取表达式<func <t,bool =“”>&gt; </func <t,>的参数

时间:2013-12-04 23:48:01

标签: c# linq expression

编辑:

基本上我想得到一个被调用方法的参数值,如下所示:

这是我的表情功能看起来像

    public static bool SearchBy(Expression<Func<Employee, bool>> func, string url)
    {
        var body = func.Body as MethodCallExpression;
        if (body != null)
        {
            foreach (var argument in body.Arguments)
            {
                var constant = argument as ConstantExpression;

                if (constant != null) //NULL HERE
                {
                    Console.WriteLine(constant.Value);
                }
            }
        }
    } 

我的任务是:

我如何读取传递给函数的参数?

1 个答案:

答案 0 :(得分:1)

如上所述:

http://msdn.microsoft.com/en-us/library/bb335710(v=vs.110).aspx

您可以使用Parameters属性访问lambda的参数。在您的示例中,这将是func.Parameters。