2011-11-08 80 views
0

我無法將我的新表單設置爲啓動表單,它抱怨它不存在。 但幾分鐘後,我嘗試輸入「Namespace.NewForm」,並工作。爲什麼選擇啓動表單時必須指定名稱空間?

在我的其他項目,啓動設置爲這樣:

 Application.Run(new MyForm()); 

爲什麼我在這個項目改變啓動窗體時指定的命名空間?

+1

這意味着MyForm的是其中所包含的命名空間是不同的,則命名方案被包含在其中。換句話說,它通常不是必需的,默認情況下,WinForm項目可以放置在同一個命名空間中。 –

+0

你搖滾,就是這樣,忘了檢查一下! – fgblomqvist

回答

1

使用using指令,所以您不必完全限定相關命名空間中的類型。

using MyNameSpace; 

這也是值得指出的是,在C#中使用指令不給你訪問嵌套在指定(以防萬一你想知道)的命名空間的命名空間。這意味着,

using System; 

不給你訪問System.IO

4

大概是因爲你沒有爲它using指令:

using SomeNamespace; 

... 

Application.Run(new SomeForm()); 

沒有什麼有關用於調用Application.Run代碼特別不同 - 它只是普通的C#代碼,下面的C#的一般規則。

0

聽起來這裏有更多的上下文比你分享。無論您在做什麼,您參考MyForm的任何地方都需要能夠解析對全限定類(包括命名空間)的引用。這意味着它可能需要完全合格,或者需要包含在文件頂部的using語句中的命名空間(並且是明確的)。

您的「工作」版本是否已經有using指令,而「非工作」版本沒有?你的版本是否嘗試在不同的地方設置啓動表單?

我懷疑「工作」版本已有using指令,並且無論出於何種原因,它在「非工作」版本中都不適用。

相關問題