方法必须有一个返回类型
本文关键字:返回类型 有一个 方法 | 更新日期: 2023-09-27 18:06:12
关于Public Send(SerialPort serialPort1),方法必须有一个返回类型。我特别错过了什么?这就是我想开始给com端口写信的部分。从在线查看其他问题,我注意到我可能缺少该类的程序集引用或主体部分。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TEST_Listbox
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.Items.Add(new Command { DisplayText = "Part 1", CommandText = "01P00101##" });
comboBox1.Items.Add(new Command { DisplayText = "Part 2", CommandText = "02P00102##" });
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM3";
serialPort1.BaudRate = 9600;
serialPort1.Parity = Parity.None;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.Handshake = Handshake.None;
serialPort1.RtsEnable = true;
serialPort1.DtrEnable = true;
serialPort1.Open();
if (serialPort1.IsOpen)
{
serialPort1.WriteTimeout = 500;
button1.Enabled = false;
}
}
public class Command
{
public string DisplayText { get; set; }
public string CommandText { get; set; }
public Send(SerialPort serialPort1)
{
if (serialPort1.IsOpen)
{
var content = new List<byte>();
content.Add(2);
content.AddRange(Encoding.ASCII.GetBytes(CommandText));
content.Add(3);
byte[] buffer = content.ToArray();
serialPort1.Write(buffer, 0, buffer.Length);
}
}
public override string ToString()
{
return DisplayText;
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var command = (Command)comboBox1.SelectedItem;
if (command != null)
{
command.Send(serialPort1);
}
}
}
}
这意味着你的Send方法没有返回类型。意思是你不会在那个方法中返回任何东西。如果该方法不应该返回任何东西,那么只需添加void作为返回类型:
public void Send(SerialPort serialPort1)
{
if (serialPort1.IsOpen)
{
var content = new List<byte>();
content.Add(2);
content.AddRange(Encoding.ASCII.GetBytes(CommandText));
content.Add(3);
byte[] buffer = content.ToArray();
serialPort1.Write(buffer, 0, buffer.Length);
}
}
在c#中,除了构造函数/析构函数之外,类的所有方法都有返回类型。否则,返回类型为void
由于您的Send()
被编码为不返回任何内容,因此您从方法头中缺少void
。
public Send(SerialPort serialPort1)
:
public void Send(SerialPort serialPort1)