我有一个简单的 c# 问题(所以我相信)。我是该语言的初学者,我遇到了有关实现它们的接口和类的问题。问题是
我有界面iA
interface iA
{
bool method1
bool method2
bool method3
}
和3 个实现接口的类: classB
和C
D
class B : iA
{
public bool method1
public bool method2
public bool method3
}
如果 B 类有另一个不在接口中的方法,假设method4()
我有以下内容:
iA element = new B();
然后我会使用:
element.method4();
我会收到一条错误消息,说我没有method4()
第一个参数 type iA
。
问题是:我可以拥有一个接口类型的对象并用一个类进行实例化,并让该对象从该类调用一个方法,一个不在接口中的方法吗?
我想出的一个解决方案是在接口和派生类之间使用一个抽象类,但是 IMO 会使接口超出范围。在我的设计中,我只想使用接口和派生类。