c# - 嵌套方法调用和委托(delegate)有什么区别?

标签 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() 时,它将调用其中列出的函数......当我调用委托(delegate)时也会发生同样的情况......所以当我可以使用第一种方法时委托(delegate)来处理某些事件有什么用.. . 第一种方法也封装了方法调用..

最佳答案

在委托(delegate)的情况下,未指定附加函数的调用顺序。

此外,您可以将任意数量的函数附加到它,甚至在运行时,来自其他对象,而不仅仅是第一种方法中的硬编码对象。委托(delegate)具有更广泛的用途。

关于c# - 嵌套方法调用和委托(delegate)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11226584/

相关文章:

c# - 如何更改 UWP 的媒体捕获照片分辨率?

Android源码函数奇特的名字

c - 函数名转换为 uint32_t

javascript - 如何将参数传递给函数本身就是参数的函数?

c# - 列表<类>() 与列表<类>(0)

c# - 访问类的静态变量后,执行流程是怎样的?

c# - ASP.NET 缓存类与 MemoryCache 类

c# - 方法重载与可选参数

c# - 在 C# 中克隆具有 DataTable 和其他对象作为属性的复杂对象

c# - 将代码中的数据库表首先转换为模型的最佳方法