你看的这一段代码示例不全
它的IsOpen是一个Bool的属性,表示串口是否打开;在每次打开和关闭串口时都要手动修改IsOpen的值,你自己定义一个属性也行
///串口是否打开标志
public bool IsOpen{get;set;}
而且你也没有设置串口的波特率、数据位、校验位等参数,所以你肯定运行不了的
你可以参考这个攻略,看看串口是如何工作的
http://www.cnblogs.com/starxp/articles/2680352.html
SerialPort sp = new SerialPort("COM2");
if (sp.IsOpen){
try{
sp.Close();
sp.Dispose();
}catch (Exception err){
throw new Exception(err.Message);
}
}