Pos*_*Guy 2 c# oop design-patterns adapter wrapper
我有一个针对第三方WSDL的.NET Web服务参考.
在该引用中有2个类.基本上这两个类很可能是第三方API方面的接口,但在.NET中最终为2个代理类.
我需要将这两个类组合成一个类.为什么?因为这些是分裂的愚蠢,它们是允许我进行方法调用的服务.方法调用在这两个代理类之间分为一半和一半.
所以我想创建一个名为ThirdPartyService的自定义包装器类,并以某种方式基本上继承这些代理类的成员.我知道你可以在C#中继承2个类,但是我也看不到如何用接口做这个.
好吧,你没有给我们很多工作,但你可以用组合做到这一点.
class Foo {
public void Frobber();
}
class Bar {
public void Blorb();
}
Run Code Online (Sandbox Code Playgroud)
然后
class FooAndBar {
Foo _foo;
Bar _bar;
public FooAndBar(Foo foo, Bar bar) {
_foo = foo;
_bar = bar;
}
public void Frobber() { _foo.Frobber(); }
public void Blorb() { _bar.Blorb(); }
}
Run Code Online (Sandbox Code Playgroud)
如果Foo并且分别Bar实现接口IFoo,IBar那么你也可以FooAndBar实现IFoo它IBar.
在Design Patterns的语言中,我们称之为适配器模式.
关于你的编辑:
我知道你可以在C#中继承2个类,但是我也看不到如何用接口做这个.
不可以.你不能从C#中的两个类继承.你必须使用我已经解释过的构图.
| 归档时间: |
|
| 查看次数: |
2174 次 |
| 最近记录: |