我一直在想這個,但從來不明白爲什麼。爲什麼C#不需要名稱空間或完整名稱空間(完全限定名稱)?
簡單的例子:
public IEnumerator<Effect> GetEnumerator ()
{
return this.Effects.GetEnumerator ();
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator ()
{
return this.GetEnumerator ();
}
爲什麼你必須指定:
System.Collections.IEnumerator
但不只是:
Collections.IEnumerator
我我不是說這樣比較好,但對我來說似乎是這樣逐步解決衝突的方法。
因爲有時候會有相當深的嵌套類型,所以如果由於碰撞而必須鍵入完整名稱會感覺不好,而不是僅僅使用包含它的直接名稱空間來加前綴,以便編譯器可以嘗試在當前導入/使用的名稱空間。
另外,當我第一次啓動C#時,我總是發現自己這樣做,認爲這是如何工作的。看看其他人對C#有什麼新鮮感會很酷,以前從未使用過命名空間概念。
非常感謝Henk,我希望它像你用「使用System。*;」所說的那樣。這是一個請求的功能?另外我不能做你的例子,如果我的類型必須在另一個名稱空間,對不對? – 2011-02-15 22:49:39