2013-08-26 33 views
0

我有两个类,其中1是继承。还有一些其他类与Acme123Response类似,具有不同的响应类。即ApplicationInfo。是否有可能禁止从第三方Web服务的类?

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 
    } 
} 
+0

换句话说,约束BuyerResponse 为ApplicationInfo的子类,例如?那么是的,你应该可以做到这一点。 – DavidN

+0

ApplicationInfo是第三方类。我想将T约束到来自第三方的许多类中,可能使用接口或其他类。关于这可能如何接近的任何细节。 – dotnetnoob

回答

0

如果我正确理解了你的评论,那么你的问题是你可以为第三方程序集中定义的类定义基接口。 AFAIK这是不可能的(即使你可以分叉源代码,它不是我想做的事情):我认为你可以做的最好的事情是定义包装类/ adapters,实现你的统一界面,然后根据你的对此的一般约束。

这也有一个屏障你自己的实现从第三方类与接口,这通常是你想要做的任何事情的影响。

+0

我想我明白了,所以创建一个类MyWrapperClass继承ApplicationInfo,接口IMyWrapperClass – dotnetnoob

相关问题