我無法將我的新表單設置爲啓動表單,它抱怨它不存在。 但幾分鐘後,我嘗試輸入「Namespace.NewForm」,並工作。爲什麼選擇啓動表單時必須指定名稱空間?
在我的其他項目,啓動設置爲這樣:
Application.Run(new MyForm());
爲什麼我在這個項目改變啓動窗體時指定的命名空間?
我無法將我的新表單設置爲啓動表單,它抱怨它不存在。 但幾分鐘後,我嘗試輸入「Namespace.NewForm」,並工作。爲什麼選擇啓動表單時必須指定名稱空間?
在我的其他項目,啓動設置爲這樣:
Application.Run(new MyForm());
爲什麼我在這個項目改變啓動窗體時指定的命名空間?
使用using指令,所以您不必完全限定相關命名空間中的類型。
using MyNameSpace;
這也是值得指出的是,在C#中使用指令不給你訪問嵌套在指定(以防萬一你想知道)的命名空間的命名空間。這意味着,
using System;
不給你訪問System.IO
大概是因爲你沒有爲它using
指令:
using SomeNamespace;
...
Application.Run(new SomeForm());
沒有什麼有關用於調用Application.Run
代碼特別不同 - 它只是普通的C#代碼,下面的C#的一般規則。
聽起來這裏有更多的上下文比你分享。無論您在做什麼,您參考MyForm
的任何地方都需要能夠解析對全限定類(包括命名空間)的引用。這意味着它可能需要完全合格,或者需要包含在文件頂部的using
語句中的命名空間(並且是明確的)。
您的「工作」版本是否已經有using
指令,而「非工作」版本沒有?你的版本是否嘗試在不同的地方設置啓動表單?
我懷疑「工作」版本已有using
指令,並且無論出於何種原因,它在「非工作」版本中都不適用。
這意味着MyForm的是其中所包含的命名空間是不同的,則命名方案被包含在其中。換句話說,它通常不是必需的,默認情況下,WinForm項目可以放置在同一個命名空間中。 –
你搖滾,就是這樣,忘了檢查一下! – fgblomqvist