1

我有以下代码,但仍然必须键入完整路径才能使用 System.IO.Ports 命名空间,即使我有 using 子句。我的参考列表中是否缺少某些内容?

= new SerialPort 返回错误 5 'SerialPort' 是一个“命名空间”,但用作“类型”

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();

        }

谢谢

4

2 回答 2

2

这是因为您的命名空间具有相同的名称。重命名您的命名空间或使用串行端口的别名,如下所示:

using SP = System.IO.Ports.SerialPort

然后你可以使用

SP counter = new SP("COM5");

但正如 Jon 所建议的那样,重命名命名空间对于任何将阅读您的代码的人来说都是一个更清晰的解决方案。

于 2012-11-18T18:53:59.613 回答
2

您正在声明SerialPort. 不要那样做。这就是造成问题的原因。

你所要做的就是改变命名空间,你会没事的。您可以根据 Honza 的要求使用别名,但我认为如果您只是重命名命名空间,代码对每个人来说都会更清楚。

于 2012-11-18T18:54:06.090 回答