Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Делегирование и события




Делегаты и события обеспечивают возможность применения новых парадигм программирования в C#, - на основе делегирования и событийно-ориентированного программирования, давно применяемых в языках и системах, связанных с инженерией знаний. Делегат – это объект, который ссылается на метод. Значение такой ссылки может изменяться во время работы программы.

Пример

using System;

delegate string strMod(string str); // объявление делегата

class DelegateTest

{

static string replaceSpaces(string a)

{

Console.WriteLine(“Замена пробелов дефисами.”);

return a.Replace(‘ ‘, ‘-‘);

}

// прочие методы с сигнатурой “string string”, например removeSpaces

………………………………………………………………………

public static void Main()

{

strMod strOp = new strMod(replaceSpaces); // создание делегата

string str;

………………………………………………………………

str = strOp(“Это простой тест.”); //

Console.WriteLine(“Результат:” + str);

strOp = new strMod(removeSpaces); // создание нового делегата

str = strOp(“Это - новый простой тест.”); //

Console.WriteLine(“Результат:” + str);

}

}

В общем случае, в отличие от представленного выше примера, применение делегатов рассчитано на использование побочных эффектов (изменения состояний переменных классов или объектов). Делегат может использоваться для многоадресатной передачи (организации цепочек вызовов). Для этого он должен включать цепочку методов, которая создается оператором «+=». На основе применения делегатов в C# организуется управление событиями.

События декларируются как члены некоторого класса с помощью ключевого слова event. Ссылки на обработчики событий включаются в делегаты, сопоставленные событиям.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных