Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何处理不同的名称空间?_C# - Fatal编程技术网

C# 如何处理不同的名称空间?

C# 如何处理不同的名称空间?,c#,C#,我有一个类型为a.Composite的列表,并添加了一个名为ServiceA的服务引用ServiceA有一个Composite类,与a.Composite相同 我的问题是,由于名称空间的差异,我无法将ServiceA.composite对象添加到列表中。第一个是A.Composite,第二个是A.ServiceA.Composite 如何处理此问题?您可以将别名创建为global::Foo。因此,在源文件的顶部,在使用语句之后,添加如下内容 using AliasClass1=global::F

我有一个类型为
a.Composite
的列表,并添加了一个名为
ServiceA
的服务引用
ServiceA
有一个
Composite
类,与
a.Composite
相同

我的问题是,由于名称空间的差异,我无法将
ServiceA.composite
对象添加到列表中。第一个是
A.Composite
,第二个是
A.ServiceA.Composite


如何处理此问题?

您可以将别名创建为
global::Foo
。因此,在源文件的顶部,在使用语句之后,添加如下内容

using AliasClass1=global::Foo.Class1;
ServiceA有一个
Composite
类,与
a.Composite
类相同

如果这两个类是完全相同的(它只是从服务返回的对象,在客户机中以完全相同的代码获取),则应该在服务中包含包含它的程序集


你可以阅读更多关于它的内容。它解释了如何重用服务器和客户端之间共享的类型。

坚持使用一种类型。最好的选择是只使用
A.ServiceA.Composite
。重命名服务引用?相关:“到列表”,什么列表?这两种代码引用的是同一类型,还是这两种类型来自哪里?通常,引用服务的项目中的列表只会使用提供的类型。不,不能使用,因为它们被视为不同的类型。您可以编写一个转换运算符(我不建议这样做)。是否有任何方法可以从客户端修复此问题,而无需修改服务?是的,如果您的服务设计良好,引用的解决方案将允许您这样做。如果没有,您将被困在两个类中,所有解决方案都将变成半工作的解决方案。如果您的客户有多个服务,会发生什么?所以有A.Composite,B.Composite等等…如果它们都共享同一个程序集,仍然有一个。我不知道alias在我的情况下会如何帮助我。你能分享更多信息吗?