События

Событие - член типа, который может уведомлять другие объекты о некоторых особых ситуациях, которые могут случиться. В более сложной формулировке событие — это именованный делегат, при вызове которого, будут запущены все подписавшиеся на момент вызова события методы заданной сигнатуры. Определение события в типе означает, что тип поддерживает следующие возможности:

  • регистрация своей заинтересованности в событии;
  • отмена регистрации своей заинтересованности в событии;
  • оповещение зарегистрированных методов о произошедшем событии.

Типы могут предоставлять эту функциональность при определении событий, так как они поддерживают список зарегистрированных методов. Когда событие происходит, тип уведомляет об этом все зарегистрированные методы. Модель событий CLR основана на делегатах (delegate). Делегаты обеспечивают реализацию механизма обратного вызова, безопасную по отношению к типам. Методы обратного вызова (callback methods) позволяют объекту получать уведомления, на которые он подписался. Делегат - тип, содержащий ссылку на метод. Что-то на подобие процедурных типов в C++

results matching ""

    No results matching ""