我是这个话题的新手,我想知道有没有一种方法可以在使用多播委托的返回类型时获得所有方法的结果,而不仅仅是最后一个方法的结果?
以下是我的代码:
class Program
{
public delegate double rectangleDelegate (double Width, double Heigth);
class Rectangle
{
public double GetPerimeter(double Width, double Heigth)
{
return 2 * (Width + Heigth);
}
public double GetArea(double Width, double Heigth)
{
return Width * Heigth;
}
}
static void Main(string[] args)
{
Rectangle rectangle = new Rectangle();
rectangleDelegate obj = rectangle.GetArea;
obj += rectangle.GetPerimeter;
Console.WriteLine(obj(4, 2));
}
}
我try 用void
作为我的方法和委托,并打印结果.在本例中,我可以在控制台上看到这两种方法的输出.但是当使用像double
这样的返回类型时,我只得到最后一个方法的输出.
我可以做些什么来获取每个方法的返回并将其存储在变量或列表中吗? 或者,从多播代表那里期待这样的事情是完全错误的方法?