2010-05-04 143 views
0

有沒有辦法只定義你的父命名空間而不必定義所有的孩子?在代碼中定義命名空間

+4

這並不完全清楚你的意思。請舉例。 – 2010-05-04 15:06:51

+0

請詳細說明這個問題。 – 2010-05-04 15:06:57

+0

你在說如果你可以使用''語句嗎?例如。 '使用System'而不是'使用System.IO'? – Armstrongest 2010-05-04 15:08:55

回答

5

我想你指的是像Java語言支持:

imports Java.AWT.* 

據我所知,在上述聲明中*是一個外卡,這樣你就不必每次定義方法在命名空間中。

在.net中,各種庫通過名稱空間組合在一起,其中一些似乎是子集,但我不認爲它們實際上在內部表示爲水平線。

因此,舉例來說,如果你想使用StringBuilder類,你會增加在:

using System.Text; 

,但如果你再要使用正則表達式,你也將增加在

using System.Text.RegularExpressions; 

的Visual Studio有很好的檢測這種東西,只要你鍵入一個類名裏面的類名就好像

Regex reg = new Regex(); 

你輸入之後再將第一Regex,你將能夠右鍵單擊它並選擇解決菜單要麼使它像

System.Text.RegularExpressions.Regex reg = new Regex(); 

完全合格,或在頂部添加using語句(如上面所示)

+0

是啊,這就是我的意思以爲我會問歡呼 – Arnej65 2010-05-04 15:24:20

+0

更好的問題將包括「在Java中我這樣做...我需要在.Net中做這個」 – Armstrongest 2010-05-04 15:30:07

1

恐怕這是不可能的。 包含名稱空間時,只能訪問屬於該名稱空間的類。沒有指令將其包含在層次結構中的「級聯」子名稱空間中。

+0

在JAVA中,您可以定義(使用)父命名空間,並且也可以引用所有子項。 我想避免:使用Parent的 ; 使用Parent.Child1; ...等 感謝您的答覆 – Arnej65 2010-05-04 15:20:53

+0

@ Arnej65:。恐怕沒有什麼像在.NET :-( – 2010-05-04 15:22:13