gpt4 book ai didi

c# - 将 lambda 传递给具有不同参数的方法

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

是否可以调用传递具有可变数量参数的 lambda 的方法?

例如:

public void Go(Action x)
{
}

我需要调用它传递参数,比如:

Go(() => {});
Go((x, y) => {});
Go((x) => {});

这可能吗?怎么办?

最佳答案

并非没有类型转换。但是通过类型转换,它很容易完成:

void Go(System.Delegate d) {}
...
Go((Action)(()=>{}));
Go((Action<int>)(x=>{}));
Go((Action<int, int>)((x,y)=>{}));

出于好奇,Go 的主体要做什么?您有一个未知类型的委托(delegate),所以您不知道要传递什么参数才能调用它。您打算如何调用该委托(delegate)?

关于c# - 将 lambda 传递给具有不同参数的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3781604/

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