Цепочка вызовов и передача аргументов - C#

Узнай цену своей работы

Формулировка задачи:

Если делегат ссылается на цепочку методов (в примере ниже на методы one и two), то всем методам передается начальное значение аргумента? Эксперимент показывает, что да. В связи с этим вопрос, есть ли способ передачи начального значения аргумента из предыдущего метода в списке в следующий?
Листинг программы
  1. using System;
  2. class DemoSystem
  3. {
  4. delegate int StrOp(ref int str);
  5. static int one(ref int x)
  6. {
  7. return x + 1;
  8. }
  9. static int two(ref int x)
  10. {
  11. return x + 2;
  12. }
  13. static void Main()
  14. {
  15. StrOp deleg = one;
  16. deleg += two;
  17. int x = 1;
  18. x = deleg(ref x);
  19. Console.WriteLine(x);
  20. }
  21. }

Решение задачи: «Цепочка вызовов и передача аргументов»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace ConsoleApplication19
  7. {
  8.     delegate void MyDelegate();
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             MyDelegate md = new MyDelegate(One);
  14.             md += Two;
  15.             md += Three;
  16.  
  17.             md.Invoke();
  18.             md.Invoke();
  19.             md.Invoke();
  20.  
  21.             foreach (Delegate d in md.GetInvocationList())
  22.             {
  23.                 Console.WriteLine(d.Method.Name);
  24.             }
  25.             Console.ReadLine();
  26.         }
  27.         static void One()
  28.         {
  29.         }
  30.         static void Two()
  31.         {
  32.         }
  33.         static void Three()
  34.         {
  35.         }
  36.     }
  37. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы