我试图调用基类上实现的显式接口方法,但似乎无法使其正常工作。我同意这个想法很丑陋,但我已尝试了我所能想到的所有组合,但都没有成功。在这种情况下,我可以更改基类,但我还是想提出问题来满足我的好奇心。
有什么想法吗?
有什么想法吗?
// example interface
interface MyInterface
{
bool DoSomething();
}
// BaseClass explicitly implements the interface
public class BaseClass : MyInterface
{
bool MyInterface.DoSomething()
{
}
}
// Derived class
public class DerivedClass : BaseClass
{
// Also explicitly implements interface
bool MyInterface.DoSomething()
{
// I wish to call the base class' implementation
// of DoSomething here
((MyInterface)(base as BaseClass)).DoSomething(); // does not work - "base not valid in context"
}
}
((IInterface)base)
?这对于向一个你没有所有代码的库添加功能很有帮助。另外的选项是使用反射和包装第二个基类实例,但要保持这两个实例同步可能会非常困难。 - jnm2