如何抽象来自三个不同服务的相同类型的三个对象?

本文关键字:三个 何抽象 同类型 对象 服务 抽象 | 更新日期: 2023-09-27 18:13:30

我正在使用一个服务,该服务由子系统划分出多个端点。所有的系统都有一组用于来回传递结构化数据的标准对象。在给定的应用程序中,我使用了七个可用端点中的三个。ServiceA, ServiceBServiceC。建立到每个服务的连接返回一个EnvironmentVariableType的结构,但是因为每个服务从不同的服务返回,c#认为它们是不同的类型。ServiceA.EnvironmentVariableType, ServiceB.EnvironmentVariableType, ServiceC.EnvironmentVariableType .

是否有一种方法可以抽象它们并将它们视为相同的对象类型?

如何抽象来自三个不同服务的相同类型的三个对象?

您需要通过接口创建适配器层。从这个接口派生你自己的类,每个类访问一个服务,该服务将服务对象或类型转换为你的应用程序的本地类型。

如果你不能修改服务生成的代码来插入一个公共接口或使用相同的类型,你可以使用即兴接口,这将允许你接受每个调用的结果,并使其ActLike为你定义的接口。