1

我正在使用两个 WCF 服务,每个服务声明一个类Donkey。由于命名空间问题,这些Donkey类虽然结构相同,但类型不同。

到目前为止,我正在使用using (如此所述 fi ),但我觉得我想对其进行更严格的控制。

关于如何(以及在​​哪里)放置将两个Donkey类相互映射的数据合同转换器的任何建议?我知道这是一个有点愚蠢的问题。这与我不确定这是否可能有关。随时纠正我的表述。

欢迎所有建议。我正在考虑编写自己的数据定义层并创建自己的更好的 对象(如果有人敢使用对 Futurama 的 Bender 的引用,可以使用酒和妓女)。

4

2 回答 2

1

显式命名空间可以解决问题。

您可以将您的Donkey类(如果它们在结构上实际上相同)合并到两个命名空间可以引用的另一个项目。

如果您可以控制这些不同Donkey类的构思方式,则可以允许它们每个共享一个接口IDonkey,但这或多或少是相同的合并语法解决方案。

于 2013-08-05T16:26:26.433 回答
1

如果我正确理解你的情况,你有两个不同类型的相同结构,你想互换使用。在这种情况下,您只需要定义隐式转换即可。因此,在 Donkey 的一个定义中,定义与另一头 Donkey 之间的转换。

如果您无法控制两个 Donkey,或者您希望保持类解耦,那么添加第三个 Donkey 类会更有意义。在这个类中,您将定义来自其他 Donkeys 的演员表。

根据您的具体情况,您应该在整个项目中尽可能多地使用其中一个驴,并仅在必要时使用另一个。

于 2013-08-05T16:57:02.367 回答