Возможно ли, чтобы метод в ClassA был вызван событием в ClassB? - PullRequest
1 голос
/ 14 марта 2012

У меня есть класс с именем Communicator, который имеет интерфейс к ElectronicDevice, а ElectronicDevice имеет интерфейс к SerialPortWrapper классу (который, в свою очередь, имеет SerialPort объект)

Communicator отправляет сообщения на ElectronicDevice через SerialPort.

Communicator необходимо изменить его поведение в некоторых случаях на основе ответа от SerialPort.SerialPort обычно вызывает SerialDataReceivedEvent, когда получает данные, но Communicator не имеет доступа к этому.

Какой лучший способ для меня иметь дело со связью между моими объектами и SerialPort?Я открыт для любых предложений!(Я совершенно новичок в общении с SerialPort, так что, если вы меня правильно настроите, я действительно ценю это!)

1 Ответ

3 голосов
/ 14 марта 2012

Ваш SerialPortWrapper может выставить и вызвать событие, когда SerialPort вызывает его. Ваш ElectronicDevice может обработать это событие и создать собственное событие. Это создаст цепочку событий обратно к Communicator. На каждом этапе пути вы можете изменить форму события соответствующим образом - например, ElectronicDevice может вызвать событие MessageReceived вместо SerialDataReceivedEvent.

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