2015-04-14 40 views
0

我有一個A.Composite類型的列表,我添加了一個名爲ServiceA的服務參考。 ServiceAComposite類,與A.Composite相同。如何處理不同的命名空間?

我的問題是我不能將ServiceA.composite對象添加到列表中,因爲名稱空間有所不同。第一個是A.Composite,第二個是A.ServiceA.Composite

我該如何處理這個問題?

+0

堅持一個。最好的選擇是隻使用'A.ServiceA.Composite'。 –

+0

重命名服務引用? – Ctrlfreak

+0

相關:[解決模糊引用](http://stackoverflow.com/questions/14141043/resolving-an-ambiguous-reference) – Sayse

回答

2

ServiceA有Composite類,同爲A.Composite

如果這兩個類是完全相同的(它只是一個對象從服務返回,在完全相同的代碼在客戶端回升),你應該包括包含在你的服務的組件。

您可以閱讀更多關於它here。它解釋瞭如何重用服務器和客戶端之間共享的類型。

+0

也許我可以投我收到的對象? – Ctrlfreak

+0

不,你不能認爲它們不是同一類型。你可以寫一個轉換運算符(我不會建議)。 –

+0

有沒有辦法從客戶端解決此問題而無需修改服務? – Ctrlfreak

0

您可以創建一個別名,如global::Foo。因此,在你的源文件的頂部,您使用的語句剛過,加入這樣

using AliasClass1=global::Foo.Class1; 
+0

我沒有看到別名將如何幫助我在我的情況。你能分享更多信息嗎? – Ctrlfreak

相關問題