2015-04-14 20 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

相关问题