делегат для именованных методов

Делегат — это тип ссылки, который хранит данные о сигнатуре метода.
Делегат — это объект, который ссылается на метод.
Объект делегата может вызывать разные методы во время выполнения, а не во время компиляции.

Синтаксис:
[атрибут] модификатор_доступа delegate тип имя_делегата ([список_параметров]);
Скрыть

Показать

Копировать
  Main.cs  
  • using System;
  •  
  • public delegate int dlgSum(int arg0, int arg1);
  • public delegate void dlgTextShow();
  •  
  • class One {
  •  //метод, который будет вызывать объект делегата
  •  public int Sum(int arg0, int arg1) {
  •   return (arg0 + arg1);
  •  }
  •  //метод, который будет вызывать объект делегата
  •  public void TextShow() {
  •   Console.WriteLine("Привет Мир!");
  •  }
  • }
  •  
  • class Program {
  •  public static int Main() {
  •  
  •   /*должен быть создан объект класса, в котором объявлен метод,
  •   на который будет ссылаться объект делегата*/
  •   One O = new One();
  •  
  •   //инициализация делегата, создание объекта и его привязка к методу
  •   //ВНИМАНИЕ! указывается только имя метода, БЕЗ СКОБОК
  •   //обратите ВНИМАНИЕ! объект не создается
  •   dlgSum dS = O.Sum;
  •  
  •   //реализация объекта делегата
  •   //обратите ВНИМАНИЕ, к объекту делегата добавляются круглые скобки, как у метода
  •   Console.WriteLine(dS(10, 20));
  •  
  •   dlgTextShow dTS = O.TextShow;
  •   dTS();
  •    
  •   Console.ReadKey();
  •   return 0;
  •  }
  • }
30
Привет Мир!