HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: c#, разработка, вызов событий</p>
1 <p>Теги: c#, разработка, вызов событий</p>
2 <p>В языке программирования C# события объявляют в классе, используя для этого ключевое слово<strong>event</strong>. После этого слова указывают тип делегата, который и представляет событие. Давайте посмотрим, как это выглядит на практике:</p>
2 <p>В языке программирования C# события объявляют в классе, используя для этого ключевое слово<strong>event</strong>. После этого слова указывают тип делегата, который и представляет событие. Давайте посмотрим, как это выглядит на практике:</p>
3 <p>В нашем случае мы сначала определяем делегат<strong>AccountHandler</strong>, принимающий один параметр типа<strong>string</strong>. Далее посредством вышеупомянутого ключевого слова<strong>event</strong>происходит определение события с именем<strong>Notify</strong>, которое, в свою очередь, представляет делегат<strong>AccountHandler</strong>. При этом само по себе название для события может быть и произвольным, но оно в любом случае должно представлять некоторый делегат.</p>
3 <p>В нашем случае мы сначала определяем делегат<strong>AccountHandler</strong>, принимающий один параметр типа<strong>string</strong>. Далее посредством вышеупомянутого ключевого слова<strong>event</strong>происходит определение события с именем<strong>Notify</strong>, которое, в свою очередь, представляет делегат<strong>AccountHandler</strong>. При этом само по себе название для события может быть и произвольным, но оно в любом случае должно представлять некоторый делегат.</p>
4 <p>После определения события появляется возможность его вызвать в нашей программе в качестве метода. Для этого используется имя события:</p>
4 <p>После определения события появляется возможность его вызвать в нашей программе в качестве метода. Для этого используется имя события:</p>
5 <p>Итак, событие Notify представляет делегат AccountHandler, принимающий один параметр типа string. Раз речь идет о строке, то, соответственно, при вызове события нам необходимо передать в него строку. Однако тут стоит учитывать, что при вызове событий можно столкнуться с ситуацией, когда событие равняется null в том случае, если для него не определен обработчик. Следовательно, в процессе вызова события является целесообразным всегда проверять его на null. К примеру так:</p>
5 <p>Итак, событие Notify представляет делегат AccountHandler, принимающий один параметр типа string. Раз речь идет о строке, то, соответственно, при вызове события нам необходимо передать в него строку. Однако тут стоит учитывать, что при вызове событий можно столкнуться с ситуацией, когда событие равняется null в том случае, если для него не определен обработчик. Следовательно, в процессе вызова события является целесообразным всегда проверять его на null. К примеру так:</p>
6 <p>Либо так:</p>
6 <p>Либо так:</p>
7 <p>Раз событие представляет делегат, есть возможность вызвать его посредством метода Invoke(), передав в него нужные значения для параметров.</p>
7 <p>Раз событие представляет делегат, есть возможность вызвать его посредством метода Invoke(), передав в него нужные значения для параметров.</p>
8 <p>Теперь давайте создадим и вызовем событие:</p>
8 <p>Теперь давайте создадим и вызовем событие:</p>
9 <p>В результате посредством события<strong>Notify</strong>мы выполняем уведомление системы о том, что были добавлены средства, а также о том, что средства были сняты со счета либо на счете средств недостаточно.</p>
9 <p>В результате посредством события<strong>Notify</strong>мы выполняем уведомление системы о том, что были добавлены средства, а также о том, что средства были сняты со счета либо на счете средств недостаточно.</p>
10 <p>Также вам может быть интересна следующая статья: - "<a>Управление обработчиками событий</a>".</p>
10 <p>Также вам может быть интересна следующая статья: - "<a>Управление обработчиками событий</a>".</p>
11 <p><em>По материалам https://metanit.com/.</em></p>
11 <p><em>По материалам https://metanit.com/.</em></p>
12  
12