我工作的ASP.NET Web應用程序使用.NET 3.5和遇到了以下問題:命名空間問題
我有一個類的命名空間X.Web.Controls.Core
它引用的類Utils
下工作命名空間X.X2.components.util
。
我得到Utils
在命名空間X.Web.Controls.Utils
這不應該是可能的,因爲我找不到任何引用從我工作的類名稱空間已經定義的錯誤。有任何想法嗎?
我工作的ASP.NET Web應用程序使用.NET 3.5和遇到了以下問題:命名空間問題
我有一個類的命名空間X.Web.Controls.Core
它引用的類Utils
下工作命名空間X.X2.components.util
。
我得到Utils
在命名空間X.Web.Controls.Utils
這不應該是可能的,因爲我找不到任何引用從我工作的類名稱空間已經定義的錯誤。有任何想法嗎?
我不能真正看到應該有問題,除非你有一個using
語句引用它的某個地方。請注意,名稱空間中的代碼將隱式地「查看」相同名稱空間中的類,即使它們是在別處定義的。
不管怎麼說,你可以通過改變類名(僅適用於當前的代碼文件)解決您的問題:
using X2Utils = X.X2.components.util.Utils;
的類將被命名爲您的代碼X2Utils
。或者你可以爲它命名的快捷方式:
using X2util = X.X2.components.util;
現在,你可以參考使用X2util.Utils
類。
感謝您的回覆。實際上我有幾百個班,我必須通過並添加別名。我認爲考慮到大量的類,生病嘗試將Utils類重命名爲與任何名稱空間(例如'Util')不衝突的東西。 – CodeSpeaker 2009-10-08 07:29:31
儘管你也可以別名命名空間,但我明白你的觀點。是的,我同意你應該爲你的班級使用不同的名字。 「Util」是一個非常廣泛的名稱,並沒有比「AClass」更具描述性。 – Blixt 2009-10-08 07:35:00
您正在使用X.Web.Controls.Core,它是X.Web.Controls的子名稱空間。這意味着X.Web.Controls中的名稱空間Utils隱式可見。
解決使用Blixt建議的別名。
您能否提供編譯器錯誤信息? – 2009-10-08 07:16:28