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