2012-10-19 222 views
0

尋找解釋。別名衝突命名空間c#

我在兩個不同的程序集中有相同的名稱空間。說

NsA.xxx.NsB 

現在我創建了一個別名來解決問題,並將其稱爲xxx。
我將「global」作爲其他程序集的別名名稱空間。

麻煩的是,「xxx」作爲別名與「xxx」命名空間部分衝突。我用名爲「XXX」的別名解決了問題。現在沒有衝突,每個人都回到思考愉快的想法。

這是意想不到的(對我來說)。這是一個錯誤?

+6

你提的問題是非常* *不清楚。請舉個簡短但完整的例子。 –

+2

如果你有衝突,大寫別名肯定不是解決這個問題的方法。 – MPelletier

+0

奇怪的是,System.Configuration命名空間有兩個部分。其中一個顯然是系統默認的一部分,另一個可以通過引用引入。在這種情況下,如果您查看References,您會看到System.configuration - 小寫「c」,顯然是爲了避免與String.Configuration發生文件名衝突。或者我假設。如果是這樣,那麼即使微軟也這麼做。 – Cyberherbalist

回答

0

這不是一個錯誤。當代碼中使用的多個程序集具有相同名稱的類時,這就是解決衝突的方法。

0

C#區分大小寫,所以名稱空間xxx和名稱空間別名XXX之間有明顯區別。

例子:

using Company.People.Employee; 
//using Contractor.People.Employee; 
using PEOPLE = Contractor.People; 

//People.Employee is not the same as PEOPLE.Employee, even though they look very similar