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



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

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

public string DoSomething(int id, int count);

我想有一个方法:

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

可以这样调用:

WithParameter(doSomethingMethodInfo, x => x.id) 

这可能吗?

如果您想以静态安全的方式指定参数名,这是不可能的。
两个原因:

  1. c#一般不支持
  2. 参数
  3. MethodInfo已丢失所有静态类型信息
根据您的最终目标,可以选择不同的方法。

相关内容

  • 没有找到相关文章

最新更新