Учебно-методический комплекс общее количество часов 58 ч. Лекции 28 ч
Download 2.46 Mb.
|
Язык программирования C#
- Bu sahifa navigatsiya:
- 12.5. Понятие событий
12.4. Анонимные методы
Очень удобным нововведением C# 2.0 являются анонимные методы. Анонимные методы создаются, и используется посредствам делегатов. Анонимные методы, как и методы, имеющие имя, могут принимать и возвращать значения. Для начала определим два делегата, первый не принимает и не передает значения, второй принимает строку и возвращает вещественное число. delegate void VoidDel(); delegate float FloatStringDel(string s); Лист. 3.12 Теперь покажем, как можно инициализировать эти делегаты анонимными методами и затем вызвать их. class Program { static void Main(string[] args) { VoidDel vd = delegate() { Console.WriteLine("Вызываем делегат vd"); }; FloatStringDel fsd = delegate(string s) { Console.WriteLine("Вызвакм fsd с параметром " + s); return 0; }; vd();
fsd("Параметр");
В результате, как и следовало, ожидать, получаем. Вызываем делегат vd Вызвакм fsd с параметром Параметр Вывод. 3.3 12.5. Понятие событий События обеспечивают механизм посредствам, которого объекты могут сообщить об изменении своего состояния и обмениваться между собой данными. Этот механизм называется генерацией событий. События могут быть сгенерированы по многим причинам, например: при изменении значений полей объекта, при завершении длительного процесса, сетевые приложения могут вызвать событие при удачном соединении с сервером или, наоборот, при неполадках в сети. Механизм событий основан на делегатах и реализуется посредством особого вида свойств. Делегаты обеспечивают событиям необходимую для безопасного вызова методов сигнатуру, а свойства позволяют устанавливать и сбрасывать действия по обработке. События представляют собой расширенный член класса, для их определения используется ключевое слово event, перед которым ставятся нужные спецификаторы, а за ним должен стоять тип делегата и имя этого события. Общая форма для определения делегата имеет следующий вид. [спецификаторы] event имя_делегата имя_события; В этой схеме спецификаторы – это любые спецификаторы доступа и памяти, имя_делегата – имя базового для события делегата, а имя имя_события – собственно имя по которому к этому событию можно обратиться. Download 2.46 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling