以下代码给出了错误
错误2类型' Series.AB'已包含' B'的定义
interface IA
{
void A();
}
interface IB
{
void B();
}
interface IAB : IA, IB
{
void A();
void B();
}
class AB : IAB
{
IA A;
IB B;
public AB(IA _a, IB _b)
{
A = _a;
B = _b;
}
public void A()
{
throw new NotImplementedException();
}
public void B()
{
throw new NotImplementedException();
}
}
我以为我可以使用AB类实例作为
IA A = new AB();或IB B =新AB();或IAB ab = new AB();
我无法理解这里发生的事情。请有人描述为什么会发生此异常。
答案 0 :(得分:1)
将属性名称更改为A和B以外的其他名称,因为您具有相同名称的方法名称。在AB类中也有默认构造函数。
class AB : IAB
{
IA instanceA;
IB instanceB;
public AB(IA _a, IB _b)
{
instanceA = _a;
instanceB = _b;
}
public void A()
{
throw new NotImplementedException();
}
public void B()
{
throw new NotImplementedException();
}
}