什么是嵌套方法调用和委托之间的区别?

时间:2012-06-27 12:48:08

标签: c# function c#-4.0 delegates

考虑以下事项:

第一条方法:

public void f3()
{
f2();
f1();
}

这......

第二条方法:

    class Sample
{
    public delegate void MyDelegate(string s);
    MyDelegate obj;

    public Sample()
    {
        obj += new MyDelegate(input);
        obj+=new MyDelegate(something);
        obj += new MyDelegate(someStaticMethod);
    }
}

当我调用f3()时,它将调用其中列出的函数...当我将调用委托时会发生同样的事情......所以当我可以使用第一种方法时,是否使用委托来处理某些事件。 。第一种方法也封装了方法调用..

2 个答案:

答案 0 :(得分:6)

如果是委托,则不指定附加函数的调用顺序。

此外,即使在运行时,您也可以从其他对象附加任意数量的函数,而不仅仅是第一种方法中的硬编码函数。代表有更广泛的用途。

答案 1 :(得分:1)

第一种方法是静态的。委托方法允许您或调用者确定以后调用的内容。