我有以下代码,但仍然必须键入完整路径才能使用System.IO.Ports命名空间,即使我已经使用了using子句。我在参考清单中遗漏了什么吗?
= new SerialPort返回错误5'SerialPort'是'命名空间',但用作'type'
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace SerialPort
{
public partial class Form1 : Form
{
System.IO.Ports.SerialPort counter = new SerialPort("COM5");
public Form1()
{
InitializeComponent();
}
由于
答案 0 :(得分:2)
这是因为您的命名空间具有相同的名称。重命名命名空间或使用串口的别名,如下所示:
using SP = System.IO.Ports.SerialPort
然后你可以使用
SP counter = new SP("COM5");
但正如Jon建议的那样,重命名命名空间对于那些阅读代码的人来说是一个更清晰的解决方案。
答案 1 :(得分:2)
您声明了SerialPort
的命名空间。不要那样做。这就是造成这个问题的原因。
你所要做的就是改变命名空间,你会没事的。根据Honza的请求,可能使用别名,但我认为如果您重命名命名空间,代码会更清晰。