两种不同的扩展方法 类
Extension methods for two different classes
我有一种情况,在 C# 中,我通过 OData API 使用数据。实际上,有两个不同的 OData 端点(两个不同的模型),其中一个是另一个的超集。
我创建了两个不同的 C# 项目(A 和 B),其中包含与两个 API 进行交互的代码。使用 Unchase OData Connected Service extension 自动生成代码。因此,项目 A 和项目 B 都包含一个 class ODataService
,这是主要的交互类型。根据我需要完整的 API 还是缩减的 API,我相应地引用了项目 A 或 B。
我想在单独的项目 C 中为 ODataService
class 编写扩展方法,这样无论我是否选择引用项目 A(完整 API) 或项目 B (减少 API).
对此有什么好的方法?
一个可能的解决方案是:
- 为
ODataService
-s 创建接口(例如:IODataService
)
- 为实现接口的服务创建部分 类:
(例如:public partial class ODataService1: IODataService {...}
)
- 为
IODataService
创建扩展方法
我有一种情况,在 C# 中,我通过 OData API 使用数据。实际上,有两个不同的 OData 端点(两个不同的模型),其中一个是另一个的超集。
我创建了两个不同的 C# 项目(A 和 B),其中包含与两个 API 进行交互的代码。使用 Unchase OData Connected Service extension 自动生成代码。因此,项目 A 和项目 B 都包含一个 class ODataService
,这是主要的交互类型。根据我需要完整的 API 还是缩减的 API,我相应地引用了项目 A 或 B。
我想在单独的项目 C 中为 ODataService
class 编写扩展方法,这样无论我是否选择引用项目 A(完整 API) 或项目 B (减少 API).
对此有什么好的方法?
一个可能的解决方案是:
- 为
ODataService
-s 创建接口(例如:IODataService
) - 为实现接口的服务创建部分 类:
(例如:public partial class ODataService1: IODataService {...}
) - 为
IODataService
创建扩展方法