2012-11-18 129 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"); 

但是作爲喬恩建議,重新命名的命名空間是一個更明確的解決方案的人誰會讀你的代碼。