public void SimulateChangeWarehouseProperties(CWarehouse objWarehouse, enumActionSaveCancel enActionType, System.Boolean bIsNewWarehouse) { // Создаем объект, хранящий информацию, которую нужно передать // объектам, получающим уведомление о событии ChangeWarehousePropertieEventArgs e = new ChangeWarehousePropertieEventArgs(objWarehouse, enActionType, bIsNewWarehouse); // Вызываем виртуальный метод, уведомляющий наш объект о возникновении события // Если нет типа, переопределяющего этот метод, наш объект уведомит все объекты, // подписавшиеся на уведомление о событии OnChangeWarehouseProperties(e); }
/// <summary> /// Инициирует событие и уведомляет о нем зарегистрированные объекты /// </summary> /// <param name="e"></param> protected virtual void OnChangeWarehouseProperties(ChangeWarehousePropertieEventArgs e) { // Сохраняем поле делегата во временном поле для обеспечение безопасности потока EventHandler <ChangeWarehousePropertieEventArgs> temp = m_ChangeWarehouseProperties; // Если есть зарегистрированные объектв, уведомляем их if (temp != null) { temp(this, e); } }