我正在使用允许我访问远程计算机的库。
该库至少已有十年历史了,随着时间的流逝,他们将多个特征添加到了多个对象中;为了做到这一点而又不破坏兼容性(至少我是这样认为的),他们设计了多个接口,实现如下:
//Version 1.0:
interface First
{
void AMethod();
}
//Version 1.1:
interface Second : First
{
void AMethod();
void AnotherMethod();
}
//Version 1.2:
interface Third : Second
{
void AMethod();
void AnotherMethod();
void AlsoAnotherMethod();
}
//Version 1.3:
interface Fourth : Third
{
void AMethod();
void AnotherMethod();
void AlsoAnotherMethod();
void EvenMoreMethod();
}
------------------------------------------------------------
//Version 1.3:
public InterfaceImplementor : Fourth
{
//code that do stuff
}
问题是,现在我必须连接到一台真正古老的计算机,并按原样使用该对象,这会返回“意外错误”,而这并没有给我任何调试信息。
所以,我在想:
是否可以强制对象沿依赖关系/继承树实现特定接口?这应该是可能的,因为每个接口都重新定义了每种方法(当然,如果我选择实现First
接口,那么我将只能使用AMethod()
),对吗?>
我无法更改接口,也无法从First
接口派生新对象,因为这是包含Who-knows-what的c ++库的C#包装,显然,它不仅需要简单的{ {1}}。
谢谢您的时间。