В чем разница между вызовом вложенного метода и делегатами?

рассмотреть следующие вопросы:

1st APPROACH:

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

и это ...

2nd APPROACH:

    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 (), он вызывает функции, перечисленные внутри него ... то же самое происходит, когда я вызываю делегата ... так, каково использование делегата для обработки какого-либо события, когда я могу использовать 1-й подход ...the 1st approach too encapsulates the method call..

Ответы на вопрос(2)

Ваш ответ на вопрос