小编A.J*_*son的帖子

从委托中捕获所有返回值

我正在玩代表和匿名方法,并遇到以下代码:

delegate int IntegerGenerator();
static void Main()
{
    IntegerGenerator numberGenerator;

    numberGenerator = () =>
    {
        Console.WriteLine("returns 7");
        return 7;
    };
    numberGenerator += () =>
    {
        Console.WriteLine("returns 3");
        return 3;
    };

    // This will always return 3
    var num = numberGenerator();

    Console.WriteLine("Return value: {0}", num);
}
Run Code Online (Sandbox Code Playgroud)

我感兴趣的是委托的Invocation列表中所有方法的返回值.但是,似乎唯一给出的值来自要附加到委托的最后一个方法.一种可能的解决方法是输入集合并只将结果添加到集合中.但是,由于委托的返回类型,这似乎不是解决此问题的正确方法.

如何从委托中附加的方法捕获所有返回值?

c# delegates

2
推荐指数
1
解决办法
133
查看次数

标签 统计

c# ×1

delegates ×1