2015-07-02 125 views
2

我正在C#中開發一個winform應用程序,並且一切正常。但是,當我嘗試運行應用程序時,突然間出現了這個奇怪的錯誤。命名空間'<全局命名空間>'包含與別名'PersianDate'衝突的定義

命名空間「」包含衝突與別名定義「PersianDate」

這是引發錯誤的行。

private PersianDate _quotationDate; 

我在得到錯誤之前完成的所有事情是添加這個form_load事件。

private void frmAddDragSource_Load(object sender, EventArgs e) 
{ 
    this.Text = "Source"; 
} 

有沒有人知道爲什麼發生這種情況,我該如何解決它?

UPDATE 我usings:

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Data.SqlServerCe; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using FishTablighPro.Utility; 
using PersianDate = FreeControls.PersianDate; 
+0

展你的'使用'。 – haim770

+0

@ haim770 Plz檢查更新的部分 –

+0

爲什麼你必須添加'使用PersianDate = FreeControls.PersianDate;'? – haim770

回答

2

既然你定義PersianDate作爲FreeControls.PersianDate命名空間的別名。編譯器無法分辨PersianDate是指您創建的名稱空間別名還是其中定義的PersianDate類型。

嘗試直接指向的PersianDate類型:

private PersianDate.PersianDate _quotationDate; 
0

我的猜測:下面的定義..

using PersianDate = FreeControls.PersianDate; 

...與試圖變量定義相沖突:

private PersianDate _quotationDate; 

Here,PersianDate似乎指向一個名稱空間,而不是您將用於變量的類型。

如果您確實需要命名空間的快捷方式,請將其更改爲其他名稱,以免與該類型衝突。否則,爲變量指定PersianDate類型的整個名稱空間 - 這也應該起作用,因爲它將變得明顯不同於其他名稱空間。

編輯:這些實際上指的是相同的命名空間?如果是這樣,你可以使用兩種:

// If you for some reason absolutely want to use an alias 
// (perhaps to avoid some other naming conflict..?) 
using pd = FreeControls.PersianDate; 
... 
private pd.PersianDate _quotationDate; 

...或者,如果沒有衝突呢(即沒有其他進口種類可以用同一個類名PersianDate),簡單地說:

using FreeControls.PersianDate; 
private PersianDate _quotationDate;