Делегат — это тип ссылки, который хранит данные о сигнатуре метода.
Делегат — это объект, который ссылается на метод.
Объект делегата может вызывать разные методы во время выполнения, а не во время компиляции.
Синтаксис:
[атрибут] модификатор_доступа delegate тип имя_делегата ([список_параметров]);
Делегат — это объект, который ссылается на метод.
Объект делегата может вызывать разные методы во время выполнения, а не во время компиляции.
Синтаксис:
[атрибут] модификатор_доступа delegate тип имя_делегата ([список_параметров]);
Main.cs
usingSystem;publicdelegateintdlgSum(intarg0,intarg1);publicdelegatevoiddlgTextShow();classOne {-
//метод, который будет вызывать объект делегата -
publicintSum(intarg0,intarg1) { -
return(arg0 + arg1); -
} -
//метод, который будет вызывать объект делегата -
publicvoidTextShow() { -
Console.WriteLine("Привет Мир!"); -
} }classProgram {-
publicstaticintMain() { -
/*должен быть создан объект класса, в котором объявлен метод, -
на который будет ссылаться объект делегата*/ -
One O =newOne(); -
//инициализация делегата, создание объекта и его привязка к методу -
//ВНИМАНИЕ! указывается только имя метода, БЕЗ СКОБОК -
dlgSum dS =newdlgSum(O.Sum); -
//реализация объекта делегата -
//обратите ВНИМАНИЕ, к объекту делегата добавляются круглые скобки, как у метода -
Console.WriteLine(dS(10, 20)); -
dlgTextShow dTS =newdlgTextShow(O.TextShow); -
dTS(); -
Console.ReadKey(); -
return0; -
} }
usingSystem;publicdelegateintdlgSum(intarg0,intarg1);publicdelegatevoiddlgTextShow();classOne {-
//метод, который будет вызывать объект делегата -
publicintSum(intarg0,intarg1) { -
return(arg0 + arg1); -
} -
//метод, который будет вызывать объект делегата -
publicvoidTextShow() { -
Console.WriteLine("Привет Мир!"); -
} }classProgram {-
publicstaticintMain() { -
/*должен быть создан объект класса, в котором объявлен метод, -
на который будет ссылаться объект делегата*/ -
One O =newOne(); -
//инициализация делегата, создание объекта и его привязка к методу -
//ВНИМАНИЕ! указывается только имя метода, БЕЗ СКОБОК -
dlgSum dS =newdlgSum(O.Sum); -
//реализация объекта делегата -
//обратите ВНИМАНИЕ, к объекту делегата добавляются круглые скобки, как у метода -
Console.WriteLine(dS(10, 20)); -
dlgTextShow dTS =newdlgTextShow(O.TextShow); -
dTS(); -
Console.ReadKey(); -
return0; -
} }
30
Привет Мир!