gpt4 book ai didi

c# - 当方法包含 'ref' 参数时创建委托(delegate)的最简单方法

转载 作者:行者123 更新时间:2023-11-30 18:40:02 25 4
gpt4 key购买 nike

假设我有这个方法:

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);

由于我没有很多处理委托(delegate)的经验,为上述方法创建委托(delegate)以传递给我的最简单方法是什么?

最佳答案

这不是我的应用程序,所以我没有简单的方法来测试它(我只是被问到是否知道解决问题的方法),但这看起来应该有效吗?

Delegate methodCall = new Func<MyService.CallResult>(delegate() { return service.DoWork(ref myInput)});
object callResult = CallMethod(methodCall, null);

关于c# - 当方法包含 'ref' 参数时创建委托(delegate)的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8931027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com