问题描述
如何实现publicvoidDataReceive(stringstr);publicvoidDataReceive(byte[]bts)共用一个委托??PS:目前委托的声明在接口中实现,publicdelegatevoidDataReceiveDelegate(byte[]bts);实现将串口接收到的数据委托给DataReceive处理,COM.DataReceived+=newDataReceiveDelegate(DataReceive);串口接收到的可能是字节数组也可能是字符串。谢谢~~~~~
解决方案
解决方案二:
object
解决方案三:
串口不都是字节数组吗,我out了……
解决方案四:
引用楼主的回复:
如何实现publicvoidDataReceive(stringstr);publicvoidDataReceive(byte[]bts)共用一个委托??PS:目前委托的声明在接口中实现,publicdelegatevoidDataReceiveDelegate(byte[]bts);实现将串口接收到的数据委托给DataReceive处理,COM.DataReceived……
泛型
解决方案五:
publicdelegatevoidaa<T>(Tt);
解决方案六:
引用2楼的回复:
串口不都是字节数组吗,我out了……
Arduino借助Serial.print()输出的是字符串,刚刚接触C#,所以就不知道怎么处理了
解决方案七:
用泛型委托,或统一参数类型
解决方案八:
引用4楼的回复:
C#codepublicdelegatevoidaa<T>(Tt);
publicdelegatevoidDataReceiveDelegate<byte[]>(byte[]bts);publicdelegatevoidDataReceiveDelegate<string>(stringbts);是这样吗?第一个不能这样些,会提示错误刚刚接触C#,希望多多指教
时间: 2024-10-22 04:32:17