Закрытие экземпляра SerialPort внутри класса - PullRequest
1 голос
/ 03 февраля 2012

Я создал библиотечный класс для схемы управления, которая связывается через последовательный порт и используется в WinForms.Когда класс инициализируется, последовательный порт открывается

CircuitController controller = new CircuitController("Controller1", COM8, Baud9600, ...);

Но как правильно закрыть последовательный порт при выходе из приложения WinForm?Должно ли это вызываться на контроллере специально

(On close) --> controller.Shutdown();

Или последовательный порт автоматически закроется при закрытии формы?

Ответы [ 2 ]

2 голосов
/ 03 февраля 2012

За предложение Илджарна:

Лучшее, что можно сделать здесь, это внедрить IDisposable и закрыть там свой порт. Вы можете найти отличный пример кода для этого на MSDN:

http://msdn.microsoft.com/en-us/library/system.idisposable.aspx

0 голосов
/ 03 февраля 2012

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

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