考虑以下事项:
第一条方法:
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()时,它将调用其中列出的函数...当我将调用委托时会发生同样的事情......所以当我可以使用第一种方法时,是否使用委托来处理某些事件。 。第一种方法也封装了方法调用..
答案 0 :(得分:6)
如果是委托,则不指定附加函数的调用顺序。
此外,即使在运行时,您也可以从其他对象附加任意数量的函数,而不仅仅是第一种方法中的硬编码函数。代表有更广泛的用途。
答案 1 :(得分:1)
第一种方法是静态的。委托方法允许您或调用者确定以后调用的内容。