使用lambda表达式指定方法的参数

时间:2013-05-21 15:10:09

标签: c# lambda expression methodinfo

给定MethodInfo方法如何使用lambda表达式指定参数(ParameterInfo)?

例如,给定以下方法签名:

public string DoSomething(int id, int count);

我想要一个方法:

WithParameter(MethodInfo info, Expression<???> expression);

将会这样调用:

WithParameter(doSomethingMethodInfo, x => x.id) 

这可能吗?

1 个答案:

答案 0 :(得分:0)

如果要以静态方式指定参数名称,则无法进行此操作 有两个原因:

  1. C#通常不支持参数
  2. MethodInfo已经丢失了所有静态类型信息
  3. 根据您的最终目标,替代方法会有所不同。