Редактирование: Сравнение Языков Программирования
Материал из eSyr's wiki.
Внимание: Вы не представились системе. Ваш IP-адрес будет записан в историю изменений этой страницы.
ПРЕДУПРЕЖДЕНИЕ: Длина этой страницы составляет 168 килобайт. Страницы, размер которых приближается к 32 КБ или превышает это значение, могут неверно отображаться в некоторых браузерах. Пожалуйста, рассмотрите вариант разбиения страницы на меньшие части.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 2351: | Строка 2351: | ||
} | } | ||
- | + | Event в C# (грубо говоря, это эмуляция асинхронности): | |
using System; | using System; | ||
Строка 2358: | Строка 2358: | ||
public class Metronome | public class Metronome | ||
{ | { | ||
- | public event TickHandler Tick; // | + | public event TickHandler Tick; // ! |
public EventArgs e = null; | public EventArgs e = null; | ||
public delegate void TickHandler(Metronome m, EventArgs e); | public delegate void TickHandler(Metronome m, EventArgs e); | ||
Строка 2368: | Строка 2368: | ||
if (Tick != null) | if (Tick != null) | ||
{ | { | ||
- | Tick(this, e); | + | Tick(this, e); |
} | } | ||
} | } | ||
Строка 2377: | Строка 2377: | ||
public void Subscribe(Metronome m) | public void Subscribe(Metronome m) | ||
{ | { | ||
- | // регистрируем обработчик события Tick | ||
m.Tick += new Metronome.TickHandler(HeardIt); | m.Tick += new Metronome.TickHandler(HeardIt); | ||
} | } | ||
Строка 2397: | Строка 2396: | ||
} | } | ||
} | } | ||
+ | |||
+ | Если удалить ключевое слово event, то слушающий класс не будет оповещен о событии (предположительно, могу ошибаться). | ||
; Замечание | ; Замечание |