SMSCOMMS SMSEngine = new SMSCOMMS("COM6");


该代码似乎没有将我的COM6参数作为有效的ref string。如何解决此问题?

public class SMSCOMMS
{
   public SMSCOMMS(ref string COMMPORT)
   {
    SMSPort = new SerialPort();
    SMSPort.PortName = COMMPORT;
    SMSPort.BaudRate = 9600;
    SMSPort.Parity = Parity.None;
    SMSPort.DataBits = 8;
    SMSPort.StopBits = StopBits.One;
    SMSPort.Handshake = Handshake.RequestToSend;
    SMSPort.DtrEnable = true;
    SMSPort.RtsEnable = true;
    SMSPort.NewLine = System.Environment.NewLine;
    ReadThread = new Thread(
        new System.Threading.ThreadStart(ReadPort));
}

最佳答案

您不能使用ref传递临时变量,因为被调用的方法必须能够分配给调用者的变量。您为什么要先使用它?您永远不会分配给COMMPORT

为什么不只是:

public SMSCOMMS(string COMMPORT)

07-24 20:53