Введение в программирование

       

Параметр callback используется для вызова


using System; namespace MyDelegatе1 { class Class1 {[STAThread] static void Main(string[] args) { CA var1= new CA(); // Создание экземпляра делегата CA.Metod1Callback myCall = new CA.Metod1Callback(Class1.Metod2); // Значение // параметра, передаваемое методу обратного // вызова Class1.Metod2, определено // в методе Metod1 как "1".

// Выполнение метода обратного вызова (Metod2), // переданного в качестве параметра CA.Metod1(myCall); } static void Metod2 (string str2){ Console.WriteLine("Выполняется метод Metod2"); Console.WriteLine(str2); } } } using System; namespace MyDelegatе1 { public class CA { public CA() { } public delegate void Metod1Callback(string str1); public static void Metod1(Metod1Callback callback) { Console.WriteLine("Выполняется метод Metod1"); // Параметр callback используется для вызова // метода обратного вызова и передачи ему // параметра (строки "1") callback("1"); } } }

Листинг 18.1.
Закрыть окно





using System;

namespace MyDelegatе1

{

class Class1

{[STAThread]

static void Main(string[] args) {

CA var1= new CA();



// Создание экземпляра делегата

CA.Metod1Callback myCall =

new CA.Metod1Callback(Class1.Metod2); // Значение

// параметра, передаваемое методу обратного

// вызова Class1.Metod2, определено

// в методе Metod1 как "1".

// Выполнение метода обратного вызова (Metod2),

// переданного в качестве параметра

CA.Metod1(myCall);

}

static void Metod2 (string str2){

Console.WriteLine("Выполняется метод Metod2");

Console.WriteLine(str2);

}

}

}

using System;

namespace MyDelegatе1

{

public class CA

{ public CA() { }

public delegate void Metod1Callback(string str1);

public static void Metod1(Metod1Callback callback)

{

Console.WriteLine("Выполняется метод Metod1");

// Параметр callback используется для вызова

// метода обратного вызова и передачи ему

// параметра (строки "1")

callback("1");

}

}

}


Содержание раздела