关闭类内的SerialPort实例

本文关键字:SerialPort 实例 | 更新日期: 2023-09-27 18:22:13

我为控制电路创建了一个库类,该控制电路通过串行端口进行通信,并在WinForms中使用。初始化类时,串行端口打开

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

但是,当我退出WinForm应用程序时,关闭串行端口的合适方法是什么?这是否应该在控制器上调用,特别是

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

或者当表单关闭时,串行端口会自动关闭吗?

关闭类内的SerialPort实例

Per-ildjarn的建议:

这里最好的做法是实现IDisposable,并关闭那里的端口。您可以在MSDN上找到一些优秀的示例代码:

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

根据我的经验,当程序退出时,端口会关闭(据我所知,当进程退出时,操作系统会关闭进程打开的所有句柄),但我相信大多数人都会同意,根据您的第一个建议,显式关闭端口是最佳做法。