我正在为我的应用程序开发一个通信管理器,其设计如下:
ICommunicator接口,一般通信器.
public interface ICommunicator
{
bool openConnection();
bool closeConnection();
bool isConnectionOpen();
Form getConfigurationForm();
void Data_Input(object sender, EventArgs e);
}
Run Code Online (Sandbox Code Playgroud)
目前,一个具体的沟通者是SerialCommunicator:
public class SerialCommunicator : ICommunicator
{
public delegate bool setPortDelegate(string portName);
public delegate bool setBaudRateDelegate(int baudRate);
private SerialPort serial;
public SerialCommunicator()
{
serial = new SerialPort();
loadDefaultSerialPreset(serial);
serial.DataReceived += Data_Input;
}
public bool openConnection()
{
if (serial.IsOpen)
{
return false;
}
try
{
serial.Open();
}
catch (Exception)
{
//could not open the port
return false;
}
return serial.IsOpen;
} …Run Code Online (Sandbox Code Playgroud)