Создаем экземпляр student класса chelovek
[STAThread] static void Main(string[] args) { // Создаем экземпляр student класса chelovek chelovek student = new chelovek(); //Создаем экземпляр del делегата Mydelegate Mydelegate del = new Mydelegate(student.govorit); //Переменной slovo экземпляра student присваиваем значение "привет" student.slovo = "привет"; // Экземпляру делегата del передаем переменную в кавычках del(" - Сказал студент через делегат"); //Переменной slovo экземпляра student присваиваем значение "пока" student.slovo = "пока"; // Экземпляру делегата del передаем переменную в кавычках del(" - Сказал студент через делегат"); } } } }
Листинг 1.2.
В этом примере мы дважды передаем переменную одному экземпляру делегата (рис. 1.32).

Рис. 1.32. Передача переменной одному экземпляру делегата дважды
Конечно же, здесь тот же самый результат можно было получить без всякого введения делегатов — просто инициализируя переменную slovo. Но пока для нас важно не найти наилучший способ получения заданного результата, а разобраться, как же работают делегаты. Создайте новое консольное приложение и назовите его Matem. Далее опять привожу полный код с комментариями:
using System;
namespace Matem { //Создаем новый класс matematika class matematika { //Объявляем переменную a public int a; //Создаем метод calculate public void calculate() { int b = a*a; int c = a*a*a; int d = a*a*a*a; Console.WriteLine ("Само число: " + a + "\nКвадрат: " + b + "\nКуб: " + c + " \nЧетвертая степень:" + d); } } class Class1 { [STAThread] static void Main(string[] args) { //Создаем экземпляр primer класса matematika matematika primer = new matematika(); //Переменной a экземпляра primer присваиваем значение 2 primer.a = 2; //Вызываем метод calculate primer.calculate();
} } }
Листинг 1.3.
Результатом выполнения этой программы будет вычисление квадрата, куба и четвертой степени значения переменной (рис. 1.33):

Рис. 1.33. Результат приложения Matem
Теперь создадим делегата и его экземпляр (можно создать новое консольное приложение — Matem2 — или изменить существующее):
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий