2011-09-04 34 views
4

我有Visual Studio Designer的問題。Windows窗體設計器 - 在類的前面自動添加名稱空間

當我顯示錶單的設計時,設計器自動在類的前面添加名稱空間,該類用作數據源。 但是這個類與窗體位於同一個命名空間中。

這很煩人。

實施例:

namespace Editor 
{ 
    partial class AddSignalForm 
    { 
     ... 
     this.signalsBS.DataSource = typeof(Signal); 

    } 
} 

信號是在名稱空間Editor

但是在我打開的設計,代碼更改爲:

namespace Editor 
{ 
    partial class AddSignalForm 
    { 
     ... 
     this.signalsBS.DataSource = typeof(Editor.Signal); 

    } 
} 

問題是,編譯器無法找到Editor.Editor.Signal類。

+2

您是否正在編輯由設計者生成的代碼?你不應該那樣做。 – svick

+0

如果這是一個表單,那麼設計器文件和表單的代碼文件必須具有相同的名稱空間。 – ScruffyDuck

+0

不,我沒更改設計器代碼。設計器文件和代碼文件位於相同的命名空間中。但是,當我將signalBS(BindingSource)的DataSource(使用設計器)更改爲Signal類型時,設計人員將生成錯誤的代碼。我無法編譯該代碼,因此必須更改設計器文件中的代碼:/。 – Michal

回答

6

您似乎有另一個名爲Editor的類或屬性,它與命名空間衝突。

+0

我有同樣的問題。你幫我注意到了什麼是錯的!在我的情況下,我天真地開始使用一個名稱與包含名稱空間相同的類。我從中學到的是,這不是一個好主意,因爲設計師在語言本身沒有看到名稱歧義的地方。 – oliver

相關問題