我们假设我有这样一个方法:
public static object CallMethod(Delegate method, params object[] args)
{
//more logic
return method.DynamicInvoke(args);
}
以下内容对于大多数情况都能正常工作,可以像下面这样调用(简单示例):
Delegate methodCall = new Func<decimal,decimal>(Math.Ceiling);
object callResult = CallMethod(methodCall, myNumber);
然而,我遇到了这样一种情况:我需要在一个带有“ref”参数(WCF服务调用)的方法中使用它,但Func类无法处理。
Delegate methodCall =
new Func<MyService.InputClass, MyService.CallResult>(service.DoWork);
由于我没有处理委托的经验,请问创建一个传递给我的方法的委托,最简单的方法是什么?
ref
参数? - dtbparams
数组动态调用它,可能会得到令人惊讶的结果(它会改变数组中的值,但不会改变你从哪里调用它的位置)。 - Random832