我有一个连接到串口并分配DataReceived事件的应用程序。
sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string input = sp.ReadExisting();
}
我想创建继承SerialPort的TestSerialPort类,并允许我手动触发DataReceived事件。类也应该重写ReadExisting(),这样我就可以返回测试值。
答案 0 :(得分:0)
你做不到。没有像通常那样引发事件的OnDataReceived()方法因为调用它总是错误的。并且ReadExisting不是虚拟的,因此您无法覆盖它。
因此继承没有意义,你必须更换它。或使用null调制解调器模拟器(如com0com)进行伪造的实际数据传输。通过Google搜索“mock serialport”找到更多选项。