У меня есть класс, который общается с последовательным портом, и я хочу имитировать функцию Get. Проблема в том, что последовательный порт подает необработанные данные, которые могут или не могут прийти. Это также должно быть обработано и проанализировано. Например, если я хочу получить объект Person, класс последовательного порта делает это.
Способ отправки запроса на Персона.
Что-то происходит на последовательном устройстве ... оно может ответить, а может и нет.
Байты поступают через обработчик событий, который обрабатывает и анализирует все данные и, в конечном итоге, объект Person.
Я хочу обернуть все это в функцию "GetPerson", но у меня возникают трудности при соединении шагов 1 и 3. Шаг 3 - это функция, которая всегда работает и представляет собой более общий анализатор.
Может кто-нибудь помочь мне спроектировать / структурировать это?
Редактировать: Также я попытался использовать переменную класса и проверить через оператор while, как показано ниже, но он не проверяет переменную во время оператора while по любой причине:
private Person person;
public Person GetPerson()
{
...
while (person == null) {}
return person;
}