gpt4 book ai didi

C# - 在参数中声明方法(委托(delegate))

转载 作者:太空狗 更新时间:2023-10-30 01:27:41 25 4
gpt4 key购买 nike

在下面的代码中,我将方法 B 作为要对 IterateObjects 方法中的对象执行的操作进行传递。我想问一下我是否可以在参数中显式声明该方法而不是通过名称传递它,如下所示:
a.IterateObjects(delegate void(string s){//method body}) 这是不正确的,但我确信我见过类似的东西。您能否提一些建议?谢谢

DelTest a = new DelTest(); //class with method IterateObjects
a.IterateObjects(B) //HERE

private void B(string a)
{
listBox1.Items.Add(a);
}

//another class ....

public void IterateObjects(Action<string> akce)
{
foreach(string a in list)
{
akce(a);
}
}

最佳答案

是的,您可以使用 lambda像这样:

a.IterateObjects ( x => listBox1.Items.Add(x) );

关于C# - 在参数中声明方法(委托(delegate)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2424022/

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