Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从委托中的方法获取所有返回的字符串_C#_Delegates - Fatal编程技术网

C# 从委托中的方法获取所有返回的字符串

C# 从委托中的方法获取所有返回的字符串,c#,delegates,C#,Delegates,在这段代码中,我有一个关于委托的问题,我为委托添加了三个方法。有一个字符串返回。排队 字符串delOut=del(“啤酒”) 给我宝贵的德洛特代表分配“长度:4” 如何收集委托中方法返回的所有字符串 public class NaForum { public delegate string MyDelegate(string s); public void TestDel() { MyDelegate del = s => s.ToLower();

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

字符串delOut=del(“啤酒”)

给我宝贵的德洛特代表分配“长度:4”

如何收集委托中方法返回的所有字符串

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);
    }
}
谢谢您的回答。

请参阅:您需要自己进行多播以获取各个返回值。

您需要使用:

var results=newlist();
foreach(del.GetInvocationList()中的MyDelegate f){
结果:添加(f(“啤酒”);
}
现在,
results
保存所有返回值

var results = new List<string>();

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