Допустим, у меня есть этот метод:
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);
Поскольку я неу меня большой опыт работы с делегатами, какой самый простой способ создать делегат для передачи вышеупомянутого метода моему?