2012-11-18 127 views
1

我有以下代码,但仍然必须键入完整路径才能使用System.IO.Ports命名空间,即使我已经使用了使用子句。我在参考列表中错过了什么吗?无法类型System.IO.Ports速记

的=新的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(); 

     } 

感谢

回答

2

您声明的名称空间为SerialPort。不要这样做。这就是导致问题的原因。

你所要做的就是改变命名空间,你会没事的。你可能根据Honza的请求使用别名,但我认为如果你只是重命名了命名空间,代码将更清晰。

2

这是因为你的命名空间进行相同的名称。无论是重命名命名空间或使用别名串行端口,就像这样:

using SP = System.IO.Ports.SerialPort 

然后你就可以使用

SP counter = new SP("COM5"); 

但是作为乔恩建议,重新命名的命名空间是一个更明确的解决方案的人谁会读你的代码。