簡體   English   中英

兩個不同類的擴展方法

[英]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),我都可以使用這些擴展方法。

對此有什么好方法?

一種可能的解決方案是:

  1. ODataService -s 創建接口(例如: IODataService
  2. 為實現該接口的服務創建分部類:
    (例如: public partial class ODataService1: IODataService {...}
  3. IODataService創建擴展方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM