[英]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.