События и делегаты, как мне кодировать его на 2 уровня? - PullRequest
1 голос
/ 19 сентября 2010

Class1 создает и вызывает метод в Class2. Метод Class2 обновляет его прогресс до обработчика события в Class1. Но теперь метод Class2 должен вызывать метод в class3. Как class3 может обновить прогресс своего метода до class1? Нужно ли последовательно соединять события и делегатов на каждом уровне?

(Я использую шаблон MVC, класс пользовательского интерфейса вызывает класс контроллера, который вызывает рабочий класс. Мне нужно обновить 2 индикатора выполнения в классе пользовательского интерфейса. Основной индикатор выполнения обновляется по завершении методов контроллера и вспомогательный индикатор выполнения который обновляется как рабочий цикл в рабочем классе. Контроллер работает в фоновом режиме, поэтому пользовательский интерфейс не зависает.)

1 Ответ

3 голосов
/ 19 сентября 2010

Рабочий класс сообщает контроллеру, который затем уведомляет пользовательский интерфейс о ходе выполнения. Рабочий класс и пользовательский интерфейс не должны и не будут знать друг друга. Просто создайте другую пару событий между рабочим классом и контроллером (это называется всплывающее событие или цепочка событий , спасибо @Abel).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...