簡體   English   中英

是否可以禁止來自第三方Web服務的類?

[英]Is it possible to contrain a class from a third-party web service?

我有兩個繼承1的類。 還有許多其他類似於Acme123Response的類,但具有不同的響應類。 即ApplicationInfo。

ApplicationInfo屬於第三方Web服務。 問題是,如果ApplicationInfo和其余信息不在我的直接控制范圍內,是否可以在BuyerResponse中添加where約束?

public class Acme123Response : BuyerResponse<ApplicationInfo>
{
    public Acme123Response(ApplicationInfo response)
        : base(response)
    {
    }
}

public abstract class BuyerResponse<T> : ResponseBase
{
    readonly T _response;

    protected T Response
    {
        get { return _response; }
    }

    protected BuyerResponse(T response)
    {
        _response = response;

        // Do something else
    }
}

如果我正確理解了您的評論,那么您的問題是,您可以為第3方程序集中定義的類定義基本接口嗎? AFAIK這是不可能的(即使您可以派生它也不是我想要做的事情):我認為您可以做到的最好是定義實現統一接口的包裝器類/ 適配器 ,然后將您的基礎對此的一般約束。

這還具有通過接口將您自己的實現與第三方類隔離的效果,這通常是您無論如何都想做的事情。

暫無
暫無

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

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