gpt4 book ai didi

c# - 获取委托(delegate)中所有返回的字符串表单方法

转载 作者:太空狗 更新时间:2023-10-30 00:19:44 25 4
gpt4 key购买 nike

我在这段代码中有一个关于委托(delegate)的问题,我添加了三个委托(delegate)方法。返回一个字符串。在行中

string delOut = del("Beer");

给我宝贵的 delOut 委托(delegate)分配这个“长度:4”

如何收集委托(delegate)方法返回的所有字符串?

public class NaForum
{
public delegate string MyDelegate(string s);

public void TestDel()
{
MyDelegate del = s => s.ToLower();
del += s => s.ToUpper();
del += s => string.Format("Length : {0}", s.Length);

string delOut = del("Beer");
Console.WriteLine(delOut);
}
}

感谢您的回答。

最佳答案

您需要使用 Delegate.GetInvocationList :

var results = new List<string>();

foreach (MyDelegate f in del.GetInvocationList()) {
results.Add(f("Beer"));
}

现在,results 包含所有返回值。

关于c# - 获取委托(delegate)中所有返回的字符串表单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17169821/

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