рассмотреть следующее:В чем разница между вложенным вызовом метода и делегатами?
1-й подход:
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() это будет вызовите функции, перечисленные внутри него ... то же самое произойдет, когда iw ill вызвать делегата ... так что использование делегата для обработки какого-либо события, когда я могу использовать один подход ... 1-й подход также инкапсулирует вызов метода.
Если вы используете делегат, вы можете * делегировать работу * кому-то другому. Теперь ваши пользователи могут предоставлять настраиваемую реализацию вместо жесткого кодирования любой функции. –
за исключением использования ... оба пути похожи? я имею в виду способ, которым будут ссылаться методы, такие же .. ryt? –