Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
294 / 234 / 58
Регистрация: 03.02.2011
Сообщений: 2,002
Записей в блоге: 1
1
.NET 4.x

Ожидание события

05.12.2017, 21:09. Показов 1590. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть некоторая модель данных, в которой постоянно что-то происходит. Изменяются данные, срабатывают её события и прочее. Нужен совет по отлову события и действия в ответ. Поясню на примере.

Всё взаимодействие идёт с другой программой, которая является COM сервером для меня. В той программе на основе шаблона файла создаётся текущий документ. Пока он не сохранён, он висит в памяти и я работаю с ним. В момент сохранения срабатывает несколько событий на которые я подписываюсь. Одно из них, к примеру, событие
C#
1
2
3
4
5
6
//это выполнение делегата COM-сервера.
private int OnFilePostSave(int saveType, string FileName)
{
//Какой-то код
return 0;
}
. В этот момент я вычисляю, что до этого файл висел в памяти, а теперь у него появился путь, а значит я уже могу сделать своё действие, так как модель стала существовать физически на жёстком диске. Действие своё я делаю отдельным методом
C#
1
2
3
4
private void AfterSave()
{
//какой-то код, после которого я снова вызову событие сохранения.
}
Моё действие записывает данные в отдельное пространство в файле сериализацией. Пока модель висит в программе несохранённой этого сделать нельзя. А для того, чтобы моя запись именно сохранилась внутри файла, нужно именно это делать после сохранения основного файла. Для того, чтобы не возникло бесконечной рекурсии сохранения, я введу триггер.
Но самый главный вопрос:
что мне сделать такого, что сработало бы в методе OnFilePostSave, дождалось бы окончания метода, и вызвало бы мой метод AfterSave? именно после выполнения метода OnFilePostSave

Спасибо.

Добавлено через 1 час 8 минут
Всё. Разобрался.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2017, 21:09
Ответы с готовыми решениями:

Почему если делегат события определен в другом классе, то не получается создать генерацию события?
В проекте №1 объявлен делегат для события: delegate void StateEventHandler(State state); А в...

Для чего использовать ключевое слово event в объявлении события, если события — это те же самые делегаты
Господа, скажите пожалуйста, для чего использовать ключевое слово event в объявлении события, если...

Вызов события из другого события по нажатию клавиши
Всем привет! Есть кнопка на Windows.Forms, к ней привязано событие. Хочется, чтобы еще и по нажатию...

SerialPort: Ожидание События или получение ответа из потока чтения флуда байтов
Имеется: OpenPort() - открывает порт и любимый Поток readport() - Поток который считывает всё,...

1
управление сложностью
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
06.12.2017, 12:04 2
Было-бы хорошим тоном поделиться решением
0
06.12.2017, 12:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2017, 12:04
Помогаю со студенческими работами здесь

Qt ожидание события
Виджет получил событие. Действие надо сделать после прошествии какого то времени, если не получено...

Ожидание события
Помогите мне надо сделать, чтобы после клика мышкой по форме он ждал второй, и пока ждал ничего...

ожидание события
Есть несколько потоков и глобальная переменная. Можно ли сделать так что бы каждый поток ожидал...

Ожидание события
Здравствуйте. Мне нужно приостановить цикл, до того пока определееная переменная не получит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru