根据您的最终目标,可以选择不同的方法。
给定方法的MethodInfo
,我如何使用lambda表达式来指定参数(ParameterInfo
)?
例如,给定以下方法签名:
public string DoSomething(int id, int count);
我想有一个方法:
WithParameter(MethodInfo info, Expression<???> expression);
可以这样调用:
WithParameter(doSomethingMethodInfo, x => x.id)
这可能吗?
如果您想以静态安全的方式指定参数名,这是不可能的。
两个原因:
- c#一般不支持 参数
-
MethodInfo
已丢失所有静态类型信息