Мультикаст-делегаты
Делегаты, включающие в себя более одного метода, называются мультикаст-делегатами.
При вызове они выполняют каждый метод в заданном порядке, позволяя таким образом связывать несколько методов в цепочку.
Для работы мультикаст-делегатов те не должны возвращать какой-либо результат.
В противном случае обработается результат последнего метода цепочки.
Пример использования мультикаст-делегата для вывода приветствия:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MulticastDelegate1
{
class Program
{
// Объявление делегата, ссылающегося на метод
// с результатом типа void и одним строковым аргументом
public delegate void showDelegate(string s);
static void Main(string[] args)
{
showDelegate s = Display;
s += Show;
s("Hello");
s("Scott");
Console.Read();
}
// Пользовательская функция для отображения результата public static void Display(string title)
{
Console.WriteLine(title);
}
// Пользовательская функция для вывода
public static void Show(string title)
{
Console.WriteLine(title);
}
}
}
Комментариев нет:
Отправить комментарий