尋找解釋。別名衝突命名空間c#
我在兩個不同的程序集中有相同的名稱空間。說
NsA.xxx.NsB
現在我創建了一個別名來解決問題,並將其稱爲xxx。
我將「global」作爲其他程序集的別名名稱空間。
麻煩的是,「xxx」作爲別名與「xxx」命名空間部分衝突。我用名爲「XXX」的別名解決了問題。現在沒有衝突,每個人都回到思考愉快的想法。
這是意想不到的(對我來說)。這是一個錯誤?
尋找解釋。別名衝突命名空間c#
我在兩個不同的程序集中有相同的名稱空間。說
NsA.xxx.NsB
現在我創建了一個別名來解決問題,並將其稱爲xxx。
我將「global」作爲其他程序集的別名名稱空間。
麻煩的是,「xxx」作爲別名與「xxx」命名空間部分衝突。我用名爲「XXX」的別名解決了問題。現在沒有衝突,每個人都回到思考愉快的想法。
這是意想不到的(對我來說)。這是一個錯誤?
這不是一個錯誤。當代碼中使用的多個程序集具有相同名稱的類時,這就是解決衝突的方法。
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
你提的問題是非常* *不清楚。請舉個簡短但完整的例子。 –
如果你有衝突,大寫別名肯定不是解決這個問題的方法。 – MPelletier
奇怪的是,System.Configuration命名空間有兩個部分。其中一個顯然是系統默認的一部分,另一個可以通過引用引入。在這種情況下,如果您查看References,您會看到System.configuration - 小寫「c」,顯然是爲了避免與String.Configuration發生文件名衝突。或者我假設。如果是這樣,那麼即使微軟也這麼做。 – Cyberherbalist