2010-11-09 88 views
0

我在兩個名稱空間中有名爲「Address」的類名。它是兩個EDMX文件,所以它在客戶端持有不同的命名空間。我有另一個類「供應商」,它擁有「地址」類的對象。在一種情況下,我必須從一個命名空間轉換到另一個命名空間。 我怎麼能做到這一點。Casting命名空間

+0

您不會*轉換*名稱空間,您可以通過用名稱空間限定它們來解析類型。 – codymanix 2010-11-09 17:55:33

+0

是的,我知道這是設計缺陷,所有的損害已經完成。目前沒有辦法改變。這也有很多其他的類實例。因此,我們自己分配每一個屬性是痛苦的工作。 – Mohanavel 2010-11-10 05:19:44

回答

1

你不命名空間命名空間,決心類型通過預選賽他們。

一般來說是一個壞主意有多個類具有相同的名稱,特別是如果他們在應用程序中的某個地方一起使用

0

這是不可能自動。命名空間實際上只是類的名稱的前綴。基本上它們是完全不同的類,沒有什麼共同之處。

0

除非一個Address類是從另一個Address類派生的,否則根本不能在兩者之間進行投射。你可以做的是給班某種「轉換構造」的,是以相應的其他類的對象和字段映射到其自己的:

namespace NS1 
{ 
    public class Address 
    { 
     // fields go here 

     public Address(NS2.Address add2) 
     { 
      this.Name = add2.Name; 
      this.Street = add2.Street; 

      // etc. 
     } 
    } 
} 
0

鑄造命名空間是概念不正確。從一種類型轉換爲另一種類型更合適。除非這兩個類在繼承方面相關,否則根本不能使用強制轉換。