0

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

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

public string DoSomething(int id, int count);

我想要一个方法:

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

这将像这样被调用:

WithParameter(doSomethingMethodInfo, x => x.id) 

这可能吗?

4

1 回答 1

0

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

  1. C# 通常不支持此参数
  2. MethodInfo已经丢失了所有静态类型信息

替代方法因您的最终目标而异。

于 2013-05-22T05:23:09.867 回答